def solution(N, stages):
failRate = []
for i in range(1, N+1):
cnt, rate = 0, 0
for j in stages:
if j >= i: cnt += 1
if j == i: rate += 1
if cnt: failRate.append([i, rate / cnt])
else: failRate.append([i, 0])
#실패율 내림차순 정렬, 실패율 같으면 스테이지 번호로 오름차순 정렬
failRate = sorted(failRate, key = lambda x : (-x[1], x[0]))
return list(map(lambda x : x[0],failRate))
cnt : 현재 스테이지에 도달한 플레이어 수
rate : 현재 스테이지에 머물러 있는 플레이어 수
실패율 구하기 : failRate = rate / cnt
이전에 풀때 한참 헤매고 결국 못 풀었던 문제. 이제 이 정도 레벨은 금방 푸는 것 같다. 12시 전에 풀어서 티스토리에 업로드를 목표로 했는데 ide 없이 몇분 걸리지도 않았다. 적당히 기뻐하고 더 열심히 하는 양분으로 삼아야겠다.
'컴퓨터 > 코테' 카테고리의 다른 글
프로그래머스 위클리 챌린지 - 9주차 [그래프] (0) | 2021.10.05 |
---|---|
2022 블라인드 카카오 1차 2차 코딩테스트 후기 (0) | 2021.09.26 |
백준 1890 점프 - [dp] (0) | 2021.09.23 |
백준 17836 - 공주 구출 [bfs] (0) | 2021.09.16 |
삼성 기출 9660 번호 붙이기 (0) | 2021.09.13 |