[programmers] 실패율

데린이·2022년 4월 9일
0

스테이지의 실패율을 구해 실패율이 높은 순대로 정렬
https://programmers.co.kr/learn/courses/30/lessons/42889/

22-04-09 CODE

def solution(N, stages):
    fail_rate = [0]*N

    complete_users = len(stages)
    for n in range(1,N+1):
        fail_rate[(n-1)] =  -stages.count(n) /  complete_users
        complete_users += -stages.count(n)
        if complete_users == 0:
            break

    return [stage for rate, stage in sorted(zip(fail_rate,list(range(1,N+1))))]

Tip
1. sorted(,key= lambda x: , reverse = True) 이용하기

22-04-26 code

def solution(N, stages):
    fail_rate = {}
    denominator = len(stages)
    for n in range(1,N+1):
        nominator = stages.count(n)
        fail_rate[n] = (nominator)/(denominator) if denominator > 0 else 0.0
        denominator -= nominator
        
    return sorted(fail_rate, key = lambda x : fail_rate[x], reverse = True)
profile
취뽀를 기원하는 취준생입니다!

0개의 댓글