Programmers/프로그래머스-실패율-python
                                            
                                                
                                                
                                                
                                                
                                                
                                                 6677 단어  programmersprogrammers
                    
문제


코드
# https://programmers.co.kr/learn/courses/30/lessons/42889
# programmers, level1: 실패율, python3
def solution(N: int, stages: list) -> list:
    lenth = len(stages)
    answer = []
    # n번만큼 반복
    for x in range(1, N+1):
        # cnt: 클리어하지 못한 유저 수
        cnt = 0
        for data in stages:
            if x == data:
                cnt += 1
        # 런타임 에러를 피하기위해 if else문 처리
        answer.append([cnt / lenth, x]) if lenth != 0 else answer.append([0, x])
        lenth -= cnt
    # answer에 있는값을 실패율 순으로 내림차순 정렬
    # 이 때, 실패율이 같다면 낮은 번호대로 내림차순 정렬하도록 lambda 사용
    # 번호만 반환하도록 -1인덱스 추출
    return [rate[-1] for rate in sorted(answer, reverse=True, key=lambda x: (x[0], -x[1]))]
if __name__ == '__main__':
    print(solution(5, [2, 1, 2, 6, 2, 4, 3, 3]))  # [3,4,2,1,5]
    print(solution(4, [4, 4, 4, 4, 4]))   # [4,1,2,3]결과

출처 & 깃허브
Author And Source
이 문제에 관하여(Programmers/프로그래머스-실패율-python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cosmos/Programmers프로그래머스-실패율-python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)