개발/PS
[Python] 프로그래머스 LV1 실패율
유훈 | Yuhun
2022. 1. 1. 01:48
반응형
풀이
비효율적으로 짰음으로 나중에 다시 해보자(실행 시간이 너무 길다)
def solution(N, stages):
user = {}
for i in range(1, N + 1):
failure = 0
arrive_stage = 0
current_fail = 0
for j in stages:
if i <= j:
arrive_stage += 1
if i == j:
current_fail += 1
if arrive_stage != 0:
failure = current_fail / arrive_stage
user[i] = failure
answer = sorted(user.keys(), key=lambda item: user[item], reverse=True)
return answer
직관적으로 현재 stage 도착 인원수와 클리어하지 못한 인원수를 구해 '단계:실패율'을 Dictionary에 넣고
이를 실패율을 기준으로 정리해 해결.
테스트는 통과했으나 실행 시간이 너무 길어 개선이 필요한 코드라 생각합니다.
반응형