개발자식

[프로그래머스] 실패율 본문

Algorithm/Programmers

[프로그래머스] 실패율

밍츠 2022. 8. 18. 17:00

실패율

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 풀이

- Counter을 이용하여 풀이

- 런타임 에러 -> 시간 초과 or 나누기 몫이 0인 경우 처리 안해줘서

 

정답 풀이

- 리스트의 count 함수 이용

- 전체 인원에서 이전 스테이지의 합을 뺀 값이 0인 경우 따로 처리해줘야 한다.

- 딕셔너리로 키에 인덱스 값에 실패율을 저장하여 실패율을 기준으로 sort한다.

def solution(N, stages):
    answer = {}
    total = len(stages)
    stage = 0
    for i in range(1,N+1):
        if total-stage != 0:
            answer[i] = stages.count(i) / (total-stage)
            stage+=stages.count(i)
        else:
            answer[i] = 0
    
    return sorted(answer, key= lambda x : answer[x], reverse=True)
Comments