ror_coding

[Programmers] 실패율 - 42889 본문

Algorithm/Python

[Programmers] 실패율 - 42889

ro_rdil_31 2024. 10. 12. 14:46
728x90

lambda를 이용해서 dictionary 값 내림차순 정렬하기!

 

Question

 

전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성하라.

 

 

Point

 

  • .count(i) 사용해서 개수 구함.
  • dictionary를 lambda를 이용해서 값 내림차순 정렬.

 

 

Code

 

def solution(N, stages):
    odd = {}
    l = len(stages)
    
    for i in range(1,N+1):
        if l != 0:
            cnt_num = stages.count(i)
            odd[i] = cnt_num / l
            l -= cnt_num
        else: odd[i] = 0
        
    return sorted(odd, key = lambda x:-odd[x])

 

now me

On my github

 

728x90