새소식

카테고리 없음

[프로그래머스] 2019 KAKAO BLIND RECRUITMENT - 실패율

  • -
728x90
반응형

🔉문제

2019 KAKAO BLIND RECRUITMENT - 실패율

 

 

 

def solution(N, stages):
    
    # 스테이지별 도전자 수
    challenger = [0] * (N + 2)
    for stage in stages:
        challenger[stage] += 1
    
    # 스테이지별 실패율
    fails = {}
    total = len(stages)
    
    # 각 스테이지를 순회하며, 실패율 계산
    for i in range(1, N+1):
        if challenger[i] == 0: # 도전하는 사람 X == 실패율 0
            fails[i] = 0
        else:
            fails[i] = challenger[i] / total
            total -= challenger[i]
            
    result = sorted(fails, key=lambda x : fails[x], reverse=True)
    return result

 


  N번째 스테이지를 클리어한 사용자를 저장하려면 N+1에 저장, N+1 스테이지를 클리어한 사용자를 저장하려면 N+2에 저장(리스트가 0부터 시작하기 때문) 참고

 

해당 스테이지에 chanllenger가 없다는 것은 이미 스테이지를 깼든 오지 못했든 실패율이 0이라는 뜻이다.

 

➌ fail은 딕셔너리로 키: 각 사용자를 가리키는 숫자, 값: 실패율

 

적용할 점

딕셔너리를 이용해 정렬을 반환할 수 있다.

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.