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.)