코딩테스트 14

[프로그래머스 Lv2 - 2019 KAKAO BLIND RECRUITMENT] 오픈채팅방 (Python)

def solution(record): li = dict() answer = [] sen = [] for i, rec in enumerate(record) : rec = rec.split() op = rec[0] id = rec[1] if op == "Enter" : name = rec[2] if id in li.keys() : if li[id] != name : idx = [i for i, x in enumerate(sen) if x[0] == id] for i in idx : sen[i][1] = name li[id] = name sen.append([id, name, 1]) elif op == 'Leave' : name = li[id] sen.append([id, name, 2]) else : na..

알고리즘 2022.07.02

[프로그래머스 Lv1 - 2018 KAKAO BLIND RECRUITMENT] 다트 게임 (Python)

def solution(dartResult): answer = 0 count = [] option = [i for i, x in enumerate(dartResult) if x in ['*', '#']] bonus = [i for i, x in enumerate(dartResult) if x in ['S', 'D', 'T']] for idx in bonus : try : temp = int(dartResult[idx-2:idx]) if dartResult[idx] == 'D' : count.append(10 ** 2) elif dartResult[idx] == 'T' : count.append(10 ** 3) else : count.append(10) except Exception as e: # prin..

알고리즘 2022.07.01

[프로그래머스 Lv1 - 2018 KAKAO BLIND RECRUITMENT] 비밀지도 (Python)

def solution(n, arr1, arr2): answer = [] n_arr1 = [] n_arr2 = [] for i in range(n) : b = bin(arr1[i])[2:] while (True) : if len(b) == n : break else : b = '0' + b n_arr1.append(b) for i in range(n) : b = bin(arr2[i])[2:] while (True) : if len(b) == n : break else : b = '0' + b n_arr2.append(b) for i in range(n) : temp = '' for k in range(n) : if (n_arr1[i][k] == n_arr2[i][k]) and n_arr1[i][k] ==..

알고리즘 2022.07.01

[프로그래머스 Lv1 - 2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 (Python)

def solution(board, moves): answer = 0 box = [] li = [[0]*len(board[0]) for _ in range(len(board))] # 열별로 나열 for i in range(len(board[0])) : for k in range(len(board)) : li[i][k] = board[k][i] for move in moves : while (li[move-1][0] == 0) : li[move-1].pop(0) if len(box) >= 1 and box[-1] == li[move-1][0] : del box[-1] del li[move-1][0] answer += 2 else : box.append(li[move-1][0]) del li[move-1][..

알고리즘 2022.06.30