728x90
https://programmers.co.kr/learn/courses/30/lessons/42889
def solution(N, stages):
answer = {}
cntplayer = len(stages)
# 각 스테이지별 실패율 딕셔너리에 저장
for i in range(1,N+1):
if cntplayer != 0:
answer[i] = stages.count(i) /cntplayer # 실패율
cntplayer -= stages.count(i)
else: # 스테이지 도달한 유저 없는 경우 실패율 0
answer[i] = 0
return sorted(answer,key = lambda x:-answer[x])
풀이
1부터 N까지의 스테이지 도달한 개수를 구하고 그 개수를 계속 제외해서 다음 실패율을 구한다.
구한 실패율을 answer 딕셔너리에 넣고,
실패율이 큰 순서대로 정렬한다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 두 정수 사이의 합 python (0) | 2022.03.26 |
---|---|
[프로그래머스] 폰켓몬 python (0) | 2022.03.26 |
[프로그래머스] 가장 큰 수 python (*) (0) | 2022.03.25 |
[프로그래머스] 베스트앨범 python (*) (0) | 2022.03.25 |
[프로그래머스] 위장 python (0) | 2022.03.25 |