본문 바로가기
반응형

최적화3

[프로그래머스] 혼자서 하는 틱택토 Python 풀이 문제 틱택토는 3x3에서 하는 3목이라고 보면 된다. 구현 O와 X의 가로와 세로, 대각선 라인의 완성된 3목의 수를 각각 세어서 가능한 상황인지 판단해야 한다. 코드 def solution(board): strboard = ''.join(board) valid = strboard.count('O')-strboard.count('X') if valid not in [0,1]: return 0 colboard = list(zip(*board)) ocnt=0 xcnt=0 for i in range(3): if colboard[i].count('O')==3 or board[i].count('O')==3: ocnt+=1 if colboard[i].count('X')==3 or board[i].count('X').. 2023. 3. 9.
[프로그래머스] 대충 만든 자판 Python 풀이 오늘은 프로그래머스 최신 문제들을 다뤄보려고 한다. 먼저 대충 만든 자판이다. 문제 구현 반복문을 각각 사용해서 문제 그대로를 구현할 수 있다. 타겟 문자열을 돌고 타겟 알파벳을 보고 keymap에서 찾는 방식으로 먼저 구현해 보겠다. 코드 def solution(keymap, targets): answer = [] for t in targets: #타겟 문자열 cntsum=0 for c in t: #타겟문자열의 각 알파벳 flag = False cnt=float('inf') for key in keymap: idx = key.find(c) if idx == -1: continue cnt = min(cnt, idx+1) flag=True if flag: cntsum+=cnt else: answer.app.. 2023. 3. 9.
[Python] 내장함수 reversed 구현 이번 글에서는 Python의 reversed를 다루려고 한다. 글자 그대로 iterable을 반대로 해주는 내장함수다. 사용법과 결과는 다음과 같다. test = [7, 4, 2, 6, 8] print(list(reversed(test)))#[8,6,2,4,7] 그럼 구현해보겠다. def my_reversed(seq): res=[] for i in seq: res = [i] + res return res 이것도 매우 간단하다. 하지만 Python의 장점을 이용해서 range처럼 step을 이용한다면 다음과 같이 코드라인이 줄어들 수 있다. def my_reversed(seq): return seq[::-1] 한 줄만에 완성이다. 그러면 테스트 해보겠다. test = [7, 4, 2, 6, 8] asser.. 2022. 5. 18.
반응형