PROGRAMMERS Python Lv1. 실패율
이번 문제는 실패율이다.
정답 코드는 다음과 같다.
혼자 풀지 못해서 모답 답안을 가져왔다.
def solution(N, stages):
result = {}
denominator = len(stages)
for stage in range(1, N+1):
if denominator != 0:
count = stages.count(stage)
result[stage] = count / denominator
denominator -= count
else:
result[stage] = 0
return sorted(result, key=lambda x : result[x], reverse=True)
1부터 N까지의 수를 for문으로 돌리고,
count함수를 이용해서 몇 개인지 찾은다음
전체 길이인 denominator로 나눠주고
마지막에 계산해준 결과값만큼 원소 갯수를 빼주면 된다.
결과로는 value값들을 비교해주면서 키 값을 출력해주면 된다.
내가 몰랐던 건 count함수를 통해 원소의 갯수를 확인할 수 있다는 것이고,
때론 dictionary를 활용해서 문제를 푸는 것도 좋은 방법이라는 것이다.
댓글남기기