목록카카오코딩테스트Lv.1 (5)
눈송이의 개발생활
문제 https://programmers.co.kr/learn/courses/30/lessons/17682 내 코드 def solution(dartResult): dartResult = dartResult.replace('10', 'k') bonus = {'S': 1, 'D': 2, 'T': 3} temp = [] for i in dartResult: if i.isdigit(): temp.append(int(i)) elif i == 'k': temp.append(10) elif i in bonus: temp[-1] = temp[-1] ** bonus[i] elif i == '#': temp[-1] *= -1 elif i == '*': temp[-1] *= 2 if len(temp) > 1: temp[-2..
문제 https://programmers.co.kr/learn/courses/30/lessons/42889 내 코드 def solution(N, stages): answer = {} stages.sort() for i in range(1, N + 1): # 스테이지 성공 사람 수 c = stages.count(i) if c == 0: answer[i] = 0 # 스테이지 성공한 사람 수 / 스테이지 모든 사람 수 else: answer[i] = c / len(stages) # 성공한 사람만큼 앞에서부터 stack에서 없애기 for _ in range(c): stages.pop(0) # 딕셔너리 정렬하기 st = dict(sorted(answer.items(), key=lambda item: item[1]..
문제 https://programmers.co.kr/learn/courses/30/lessons/92334 내 코드 def solution(id_list, report, k): # 받을 이메일 개수 answer = {id: 0 for id in id_list} # key = 신고 당함, value : 신고함 r = {id: [] for id in id_list} # 리스트 내 중복되는 값 무시하기 위해서 report = list(set(report)) for i in range(len(report)): user, warn = report[i].split() r[warn].append(user) for item, value in r.items(): if len(value) >= k: for key in v..
문제 https://programmers.co.kr/learn/courses/30/lessons/64061 내 코드 def solution(board, moves): answer = 0 stack = [] for i in range(len(moves)): col = moves[i] - 1 for j in range(len(board)): if board[j][col] != 0: out = board[j][col] board[j][col] = 0 stack.append(out) if len(stack) >= 2: if stack[-1] == stack[-2]: stack.pop() stack.pop() answer += 2 break return answer 다른 사람 풀이 def solution(boar..
문제 https://programmers.co.kr/learn/courses/30/lessons/67256 내 코드 def solution(numbers, hand): answer = '' lhand = 10 rhand = 11 # index == number로 좌표 만들기 points = [(3, 1), (0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2), (3, 0), (3, 2)] for i in numbers: if i in [1, 4, 7]: answer += "L" lhand = i elif i in [3, 6, 9]: answer += "R" rhand = i # 2580 나온 경우 else: ldist = abs(p..