kakao 2019 3

[Programmers][Python] KAKAO 2019 실패율

정렬 후 upperbound, lowerbound로 분모는 전체 - lowerbound 분자는 upperbound - lowerbound 로 실패율 연산 후 최대힙으로 정렬 from bisect import bisect_left, bisect_right from heapq import heappush, heappop def solution(N, stages): answer = [] stages = sorted(stages) cnts = [] for i in range(1, N + 1): left = bisect_left(stages, i) right = bisect_right(stages, i) total = len(stages) - left failure_rate = (right - left) / to..

[Programmers][Python] KAKAO 2019 오픈채팅방

dictionary로 저장해서 최후에 저장된 값으로 출력조정했습니다. def solution(record): answer = [] users = {} for log in record: command, *user = log.split() if command == 'Enter' or command == 'Change': user_id, nickname = user users[user_id] = nickname for log in record: command, *user = log.split() if command == 'Enter': user_id, nickname = user answer.append(f'{users[user_id]}님이 들어왔습니다.') elif command == 'Leave': ans..

[Programmers][Python] Kakao 2019 후보키

조합 검사 중 조건을 만족할 시 조합의 부분조합을 구해 중복되는것이 있으면 세주지 않았습니다. from itertools import combinations def solution(relation): n = len(relation[0]) cnt = 0 checked = set() for i in range(1, n + 1): for comb in combinations([k for k in range(n)], i): dicts = set() tmp = [] for row in relation: tmp.append(''.join(row[each] for each in comb)) flag = 0 for c in tmp: if flag: break if c not in dicts: dicts.add(c) e..