Level 1. 실패율
16. 실패율
코딩테스트 연습 > 2019 KAKAO BLIND RECRUITMENT > 실패율
https://programmers.co.kr/learn/courses/30/lessons/42889
문제 정리
실패율 = 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어의 수
전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때,
실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성하라.
Input value = N, stages
제한 조건
ㆍ스테이지의 개수 N은 1 이상 500 이하의 자연수이다.
ㆍstages의 길이는 1 이상 200,000 이하이다.
ㆍstages에는 1 이상 N + 1 이하의 자연수가 담겨있다.
-
각 자연수는 사용자가 현재 도전 중인 스테이지의 번호를 나타낸다.
-
단, N + 1 은 마지막 스테이지(N 번째 스테이지) 까지 클리어 한 사용자를 나타낸다.
ㆍ만약 실패율이 같은 스테이지가 있다면 작은 번호의 스테이지가 먼저 오도록 하면 된다.
ㆍ스테이지에 도달한 유저가 없는 경우 해당 스테이지의 실패율은 0 으로 정의한다.
풀이 방법
def solution(N,stage):
people = len(stage)
result = {}
for i in range(1,N+1):
if people != 0:
result[i] = stage.count(i)/people
people -= stage.count(i)
else:
result[i] = 0
return(sorted(result, key=lambda i: result[i],reverse=True))
# Code test
N, stage = 5, [2, 1, 2, 6, 2, 4, 3, 3]
solution(N,stage)
Author And Source
이 문제에 관하여(Level 1. 실패율), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pear_min/Level-1.-실패율저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)