728x90
https://programmers.co.kr/learn/courses/30/lessons/42889
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스
programmers.co.kr
- 코드
def solution(N, stages):
p = [[0,0] for _ in range(N+1)]
p[0][1] = len(stages)
for i in range(1,N+1):
# 도달했으나 아직 클리어하지 못한 플레이어 수
p[i-1][0] = stages.count(i)
# 도달한 사람
p[i][1] = p[i-1][1]-p[i-1][0]
# 실패율
# 그 스테이지에 도달한 사람이 없는 경우 생각!!
if p[i-1][1]:
p[i-1][0] /= p[i-1][1]
else:
p[i-1][0] = 0
# i번 스테이지
p[i-1][1] = i
# 실패율이 높은 순으로
p.sort(reverse=True, key=lambda x:x[0])
answer = [p[i][1] for i in range(N)]
return answer
728x90
반응형
'TIL - 프로그래밍 > Python 알고리즘' 카테고리의 다른 글
[프로그래머스] Lv.1 신고 결과 받기 - Python (0) | 2022.05.29 |
---|---|
[프로그래머스] Lv.1 신규 아이디 추천 - Python (0) | 2022.05.27 |
[프로그래머스] Lv.2 문자열 압축 - Python (0) | 2022.05.12 |
알고리즘 - 플로이드 (0) | 2022.05.05 |
알고리즘 - 다익스트라 (0) | 2022.05.04 |
댓글