본문 바로가기
Algorithm/Python

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

by 힘팽 2022. 3. 8.

◈ 오류 정정 및 피드백 환영

 

코딩테스트 연습 - 실패율

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

programmers.co.kr


🔎문제 분석

실패율의 정의를 코드로 구현하면 되는 간단한 문제로 다음 스테이지로 넘어감에 따라 스테이지에 도달한 플레이어 수 n에서 이전 스테이지를 클리어하지 못한 사용자 수를 빼 주는 것이 핵심이다.

for i in range(1, N+1):
	# 코드 생략
	n = n-cnt

def solution(N, stages):
    rate = [0]*(N+1)
    n = len(stages)
    for i in range(1,N+1):
        cnt = stages.count(i)
        if n==0:
            rate[i] = 0
        else:
            rate[i] = cnt/n
        n = n-cnt
    rate = list(zip(list(range(1, N+1)), rate[1:]))
    rate.sort(key = lambda x: x[1], reverse=True)
    return list(zip(*rate))[0]

댓글