본문 바로가기

PS/프로그래머스

[프로그래머스 LV 1] 실패율 (파이썬/python)

728x90

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

 

코딩테스트 연습 - 실패율

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

programmers.co.kr

부스트캠프 코테 대비 프로그래머스 ide익숙해지기위해 풀어봤다.

 

각각 그 스테이지를 거쳐간 총 인원과

스테이지에 머무는 사람들의 명수를

딕셔너리에 넣었다.

 

그 후 실패율을 구해주고 

실패율기준 내림차순, 스테이지 인덱스기준 오름차순으로 정렬해주었다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def solution(N, stages):
    answer = []
    false_rate = []
    dic = {}
    for i in range(N + 10-1):
        cnt = stages.count(i)
        if i + 1 in dic:
            dic[i] = [cnt, dic[i + 1][1+ cnt]
        else:
            dic[i] = [cnt, cnt]
 
    for i in range(1, N + 1):
        ing, all_p = dic[i]
        if all_p != 0:
            rate = ing / all_p
            false_rate.append([i, rate])
        else:
            false_rate.append([i, 0])
 
    false_rate = sorted(false_rate, key=lambda x: (-x[1], x[0]))
    for f in false_rate:
        answer.append(f[0])
 
    return answer
 
cs
728x90