알고리즘_코딩테스트/이것이 코딩테스트다
[정렬] 실패율
논곰
2021. 12. 17. 00:29
"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다.
문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다.
소요시간: 15분
1. 문제 설명
- 게임을 개발하는데 각 스테이지 별로 실패율을 구하고자 한다. 실패율이 높은 순서대로 스테이지 번호를 출력하는 문제
2. 접근 방식
- 스테이지를 순서대로 정렬하고, 스테이지에 해당하는 실패율을 같이 가져가면서 마지막에 정렬해서 출력한다.
3. 코드
def solution(N, stages):
answer = []
stages.sort()
total = len(stages)
for i in range(1, N+1):
if stages.count(i) == 0:
answer.append((i, 0))
else:
players = stages.count(i)
answer.append((i, players/total))
total -= players
answer.sort(key=lambda x: (-x[1], x[0]))
return list(map(lambda x: x[0], answer))
4. 코멘트
- 예전에 풀었던 문제였는데, 그때는 1시간도 넘고 해답보고 그랬었던 것으로 기억하는데 지금은 비교적 쉽게 풀었던 것 같아서 나름 뿌듯하다.