본문 바로가기
Beakjoon&프로그래머스/파이썬

[프로그래머스/파이썬] 실패율

by 현장 2021. 5. 23.

-코드

def solution(N, stages):
    answer = {}
    l = len(stages)
    for i in range(1, N + 1):
        if stages.count(i) != 0:
            answer[i] = stages.count(i) / l
            l -= stages.count(i)
        else:
            answer[i] = 0
    answer = sorted(answer, key=lambda x: answer[x], reverse=True)
    return answer

해결하는데 몇 가지 문제점이 있었습니다. 처음에는 카운트를 이용해서 각 숫자마다 빈도수 값이 저장이 되어야 하는데 리스트로 하다가 튜플로 바꿔주고 그 후에는 출력을 크기에 따라서 배열 뒤에 빈도수 값이 아닌 해당 수를 출력하는 것이어서 예전에 lamba를 사용한 것이 떠올라서 검색해서 해결을 하고 예시 출력은 잘 나왔지만 70점이 나왔습니다. 그래서 다시 구글링을 해보니 if문으로 카운트가 0일 경우를 따로 넣어주니 해결이 되었습니다.