프로그래머스 - 기지국 설치
def solution(n, stations, w): answer = 0 coverRange = 2 * w + 1 underCover = [] start = stations[0] - w end = stations[0] + w # 간격 구하기 if start > 1: underCover.append([1, start]) for i in range(1, len(stations)): curStart, curEnd = stations[i] - w, stations[i] + w if end + 1 < curStart: underCover.append([end + 1, curStart]) end, start = curEnd, curStart if end < n: underCover.append([end + 1, n..
더보기
카카오 2019 기출 - 실패율
def solution(N, stages): failRate = [] for i in range(1, N+1): cnt, rate = 0, 0 for j in stages: if j >= i: cnt += 1 if j == i: rate += 1 if cnt: failRate.append([i, rate / cnt]) else: failRate.append([i, 0]) #실패율 내림차순 정렬, 실패율 같으면 스테이지 번호로 오름차순 정렬 failRate = sorted(failRate, key = lambda x : (-x[1], x[0])) return list(map(lambda x : x[0],failRate)) cnt : 현재 스테이지에 도달한 플레이어 수 rate : 현재 스테이지에 머물러 있..
더보기