CodingTest/programmers

[프로그래머스/Programmers] 실패율 - Python

ukunV 2021. 9. 2. 17:35

Link

 

코딩테스트 연습 - 실패율

실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스

programmers.co.kr

 

Solution

해당 문제는 Dictionary를 사용하면 좀 더 쉽게 접근할 수 있었다.

Dictionary를 lambda()를 사용해 정렬할 때에도 접근하는 방법이 다양하다는걸 문제를 풀면서 알게 되었다.

해당 문제를 통해 lambda()의 정확한 사용법을 몰랐던 사람들은 더 찾아보며 lambda()에 대해 확실하게 짚고 넘어가는 계기가 되길 바란다.

 

def solution(N, stages):
    answer = {}

    t = len(stages)

    for i in range(1, N + 1):
        if t != 0:
            count = stages.count(i)
            answer[i] = count / t
            t -= count
        else:
            answer[i] = 0

    return sorted(answer.keys(), reverse=True, key=lambda x: answer[x])
🔑 key point:
        count = stages.count(i)
        answer[i] = count / t
        t -= count
📌 Tip: Dictionary, lambda()