문제풀이/프로그래머스

[프로그래머스][Lv1] - 실패율 (Python)

얄루몬 2021. 10. 17. 13:46

def solution(N, stages):
    answer = {}
    stageslen = len(stages)
    
    
    for i in range(1,N+1):
        if stageslen != 0:
            #현재 스테이지의 있는 사람의 수를 구함
            count = stages.count(i)
            
            #실패율을 넣어준다.
            answer[i] = count/stageslen
            
            #그리고 현재단계에서 실패한 사람만큼을 빼준 뒤 다음 스테이지 실패율을 구한다.
            stageslen -= count
        else:
            answer[i] = 0
    #answer[i]에 들어간 값들을 기준으로 정렬해준다. 	{1: 0.0, 2: 0.0, 3: 0.0, 4: 1.0} 라면 스테이지 4가 가장 실패율이 높기 때문에 4부터 1,2,3 차례대로 돌려준다

    return sorted(answer,key=lambda x : answer[x],reverse = True)