알고리즘/프로그래머스
프로그래머스 - (Python)실패율
dev.moon
2021. 5. 12. 21:52
programmers.co.kr/learn/courses/30/lessons/42889
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스
programmers.co.kr
1. 유형
구현
2. 자료구조
딕셔너리
3. 풀이
각 스테이지에 따른 실패율 구하기
1) {스테이지 : 실패한 횟수} 형식으로 딕셔너리 만들기
2) [실패율, 스테이지] 형식으로 리스트 만들기
3) 실패율 순으로 내림차순, 스테이지 오름차순 정렬
코드.
def solution(N, stages):
answer = []
dic = {}
for stage in stages:
if dic.get(stage):
dic[stage] += 1
else:
dic[stage] = 1
snum = len(stages)
list = []
for i in range(1, N+1):
if snum!=0 and dic.get(i):
fail = dic[i]/snum
list.append([fail, i])
snum-=dic[i]
else:
list.append([0, i])
list.sort(key= lambda x: (-x[0], x[1]))
answer = [k[1] for k in list]
return answer