https://school.programmers.co.kr/learn/courses/30/lessons/42889#qna
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
from collections import Counter
def solution(N, stages):
# 변수 선언
percent = []
result = []
people = len(stages)
counter = Counter(stages)
counter = sorted(counter.items())
# (스테이지 번호, 인원) 리스트
counter_list = []
num = [x for x in range(N+1)]
round = [x[0] for x in counter]
for n in num:
if n not in round:
counter_list.append((n, 0))
for c in counter:
counter_list.append(c)
counter_list.sort(key=lambda x : x[0])
counter_list.pop(0)
# 각 스테이지의 실패율
for count in counter_list:
if people != 0:
percent.append((count[0], count[1] / people))
else:
percent.append((count[0], 0.0))
people -= count[1]
if len(percent) == N + 1:
percent.pop()
# 실패율 내림차순 정리
percent.sort(key=lambda x: -x[1])
for p in percent:
result.append(p[0])
return result
728x90
반응형
'🔻Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 프로그래머스 다트 게임 Python (0) | 2024.05.16 |
---|---|
[Programmers] 프로그래머스 비밀지도 Python (0) | 2024.05.14 |
[Programmers] 프로그래머스 캐시 Python (0) | 2024.05.12 |
[Programmers] 프로그래머스 귤 고르기 Python (0) | 2024.05.12 |
[Programmers] 프로그래머스 주차 요금 계산 Python (0) | 2024.05.09 |