정답
- 프로그램 시작 초기 k일 까지는 명예의 전당에서 가장 작은 값을 ans에 추가
- k일 이후에는 명예의 전당의 가장 작은 수보다 등록되는 점수가 더 크다면 가장 작은 수를 제외하고 새 점수를 명예의 전당에 등록한 후 명예의 전당 최솟값을 ans에 추가
def solution(k, score):
best = score[:k]
m = []
ans = []
new_score = score[k:]
# 프로그램 시작 이후 초기 k일
for i in best:
m.append(i)
m.sort(reverse=True) # 내림차순 정렬
ans.append(m[-1])
# k일 이후
for i in new_score:
best.sort(reverse=True) # 내림차순 정렬 100.10,1 ...
if best[-1] < i:
best.pop()
best.append(i)
best.sort(reverse=True)
ans.append(best[-1])
else:
ans.append(best[-1])
return ans
'Algorithm' 카테고리의 다른 글
카드 뭉치 / 프로그래머스 (0) | 2025.02.24 |
---|---|
2016년 / 프로그래머스 (0) | 2025.02.21 |
콜라 문제 / 프로그래머스 (0) | 2025.02.16 |
푸드 파이트 대회 / 프로그래머스 (0) | 2025.02.14 |
가장 가까운 같은 글자 / 프로그래머스 (0) | 2025.02.11 |