문제
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스
programmers.co.kr
풀이
- 처음에는 answer에 append하는 방식으로 구현할까 했지만, answer에 각각의 인덱스를 키로 가지고 실패율을 값으로 해서 dictionary를 구현하였다.
- 그리고 남아있는 멤버가 없으면 실패율은 0이고, 남아있는 멤버가 있으면 (현재 스테이지에 있는 사람의 수 / 남아있는 사람 수)가 실패율이다. answer에 추가하고 나면 남아있는 멤버의 수를 줄여주고 다시 반복
- lambda를 사용해서 answer를 정렬하고 반환
코드
def solution(N, stages):
answer = {}
men = len(stages)
for i in range(1, N + 1):
answer[i] = stages.count(i) / men if men else 0
men -= stages.count(i)
return sorted(answer, key=lambda x: answer[x], reverse=True)
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv1. 약수의 개수와 덧셈 (0) | 2021.05.15 |
---|---|
[Programmers] Lv1. 2016년 (0) | 2021.05.15 |
[Programmers] Lv1. 3진법 뒤집기 (0) | 2021.05.15 |
[Programmers] Lv1. 예산 (0) | 2021.05.15 |
[Programmers] Lv1. 신규 아이디 추천 (0) | 2021.05.15 |
댓글