문제 링크 (Level 1)
https://programmers.co.kr/learn/courses/30/lessons/42889?language=python3
나의 코드 (Python)
def solution(N, stages):
user = len(stages) # 유저수
failRate = {} # 실패율 딕셔너리
for i in range(1, N+1): # 스테이지 별 실패율 구하기
if user != 0: # 남은 유저가 있을 경우
failRate[i] = stages.count(i) / user
user -= stages.count(i)
else: # 남은 유저가 없을 경우
failRate[i] = 0
# 실패율 딕셔너리 value 기준으로 key 역순 정렬
answer = sorted(failRate, key= lambda i : failRate[i], reverse=True)
return answer
이 문제는 딕셔너리로 저장하여 문제를 해결합니다.
스테이지별로 실패율 value값을 저장하고
정렬을 할 때 value값의 역순으로 정렬한 key 값을 return 합니다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
[프로그래머스] 3진법 뒤집기 (Python) (0) | 2022.03.30 |
---|---|
[프로그래머스] 약수의 개수와 덧셈 (Python) (0) | 2022.03.27 |
[프로그래머스] 체육복 (Python) (0) | 2022.03.27 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (Python) (0) | 2022.03.23 |
[프로그래머스] 없는 숫자 더하기 (Python) (0) | 2022.03.22 |
댓글