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

KYUNG HWAN·2021년 8월 19일
0

Algorithm

목록 보기
7/18
post-thumbnail

🧑🏻‍💻 문제링크

문제풀이

다음 문제는 파이썬의 dictionary(딕셔너리)를 사용하면 참 쉬게 풀 수 있는 것 같다. 아래 실패율에 대한 공식을 생각해서 풀면 된다.

실패율 = 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수

딕셔너리 Key값에는 스테이지를 저장하고 Value값으로는 실패율을 저장하면 해결할 수 있었던 문제이다.

코드

def solution(N, stages):
    answer = {}         # 딕셔너리
    temp = len(stages)  # 스테이지에 도달한 플레이어의 수

    for stage in range(1, N+1):
        if temp != 0:
            count = stages.count(stage)
            answer[stage] = count/temp  # 각 스테이지당 실패율을 저장
            temp -= count               # 스테이지가 올라갈 수록 남아있는 사람의 수는 줄어듦
        # 다 깬 사람의 경우
        else:
            answer[stage] = 0
    
    return sorted(answer, key=lambda x:answer[x], reverse=True)

결과

profile
내가 그린 기린 그림

0개의 댓글