본문 바로가기
TIL - 프로그래밍/Python 알고리즘

[프로그래머스] Lv.1 실패율 - Python

by chaemj97 2022. 5. 21.
728x90

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

 

코딩테스트 연습 - 실패율

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

programmers.co.kr


  • 코드
def solution(N, stages):
    p = [[0,0] for _ in range(N+1)]
    p[0][1] = len(stages)
    
    for i in range(1,N+1):
        # 도달했으나 아직 클리어하지 못한 플레이어 수
        p[i-1][0] = stages.count(i)
        # 도달한 사람
        p[i][1] = p[i-1][1]-p[i-1][0]
        # 실패율
        # 그 스테이지에 도달한 사람이 없는 경우 생각!!
        if p[i-1][1]:
            p[i-1][0] /= p[i-1][1]
        else:
            p[i-1][0] = 0
        # i번 스테이지
        p[i-1][1] = i
    # 실패율이 높은 순으로 
    p.sort(reverse=True, key=lambda x:x[0])
    
    answer = [p[i][1] for i in range(N)]
    return answer
728x90
반응형

댓글