반응형
풀이
비효율적으로 짰음으로 나중에 다시 해보자(실행 시간이 너무 길다)
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에 넣고
이를 실패율을 기준으로 정리해 해결.
테스트는 통과했으나 실행 시간이 너무 길어 개선이 필요한 코드라 생각합니다.
반응형
'개발 > PS' 카테고리의 다른 글
[Python] 프로그래머스 Lv1 완료하지 못한 선수 (0) | 2022.01.03 |
---|---|
[Python] 프로그래머스 Lv2 타켓넘버 (DFS, BFS) (0) | 2022.01.01 |
[Python] 프로그래머스 Lv2 오픈 채팅방 (0) | 2021.12.31 |
프로그래머스 Lv1 키패드 누르기 (0) | 2021.12.30 |
프로그래머스 Lv1 크레인 인형뽑기 게임 (파이썬) (0) | 2021.12.30 |