본문 바로가기

컴퓨터/코테

카카오 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 : 현재 스테이지에 머물러 있는 플레이어 수
실패율 구하기 : failRate = rate / cnt

 


이전에 풀때 한참 헤매고 결국 못 풀었던 문제. 이제 이 정도 레벨은 금방 푸는 것 같다. 12시 전에 풀어서 티스토리에 업로드를 목표로 했는데 ide 없이 몇분 걸리지도 않았다. 적당히 기뻐하고 더 열심히 하는 양분으로 삼아야겠다.