프로그래머스 - 실패율

TechN0·2025년 1월 12일

알고말고 알고리즘

목록 보기
15/22

문제

https://school.programmers.co.kr/learn/courses/30/lessons/42889

풀이

  • 스테이지는 1부터 N까지 있음
  • stages에는 실패한 유저 리스트임
  • 실패율 = 스테이지 실패한 플레이어 / 스테이지 도달 한 플레이어
  • 실패율을 기준으로 내림차순, 실패율이 같으면 스테이지 번호로 오름차순 정렬

코드

def solution(N, stages):
    answer = []
    fails ={}
    totalPlayers = len(stages)

    for i in range(1, N + 1):
        failPlayer = stages.count(i)

        if failPlayer > 0:
            failPer = failPlayer / totalPlayers
        else:
            failPer = 0

        fails[i] = failPer

        totalPlayers -= failPlayer
    
    answer = sorted(fails, key=lambda x: (-fails[x], x))

    return answer

0개의 댓글