문제

문제

 

처음 작성한 코드

def solution(N, stages):
    answer = []
    stages.sort()
    for i in range(1,N+1):
        c = stages.count(i)
        if len(stages): answer.append((i,c/len(stages)))
        else: answer.append((i,0))
        stages = stages[c:]
    return [i[0] for i in sorted(answer,key=lambda x: x[1], reverse=True)]
  1. for문을 1부터 N까지 돌면서 각 단계에 도전중인 사람을 count로 찾는다.
  2. (i단계, i단계의 실패율)을 answer에 저장한다.
  3. stages를 count한 만큼 땡겨서 다음번에 length를 구할 때 count된 것을 뺼 수 있게 한다.
  4. answer에서 실패율을 key로 잡고 sort한다음 0번째 index 즉, 단계를 return 한다!

깨달은 점

  • 1단계라 그런지 쉬웠다..

'Programmers' 카테고리의 다른 글

[프로그래머스] 다트 게임  (0) 2021.01.14
[프로그래머스] 비밀지도  (0) 2021.01.13
[프로그래머스] 튜플  (0) 2021.01.11
[프로그래머스] 뉴스 클러스터링  (0) 2021.01.10
[프로그래머스] H-Index  (0) 2021.01.09