[프로그래머스] 명예의 전당 (1) Lv.1 - [파이썬/python]
https://school.programmers.co.kr/learn/courses/30/lessons/138477
문제 설명
매일 출연한 가수에게 점수를 매기고 명예의 전당에 점수를 보관한다.
만약 보관되어 있는 명예의 전당 점수의 개수가 K개 보다 클 시
명예의 전당의 점수 중 가장 낮은 점수를 제거하고
하루마다 명예의 전당의 최하위 점수를 배열에 넣어 배열 전체를 반환(return)하는 문제입니다.
※ 제한사항
- 3 ≤ k ≤ 100
- 7 ≤ score의 길이 ≤ 1,000
- 0 ≤ score[i] ≤ 2,000
더보기
- 파이썬 min()함수 통해 배열의 가장 작은 값을 찾아내보기
- 파이썬 sort()함수를 통해 배열을 정렬하여 가장 작은 값을 찾아내보기
정답 주의!!!
def solution(k, score):
result = [] # 매일 발표된 명예의 전당의 최하위 점수를 저장할 리스트
k_scores = [] # 현재 날짜까지의 k번째 점수 목록
for i in score:
k_scores.append(i) # 현재 날짜의 점수를 k_scores에 추가
k_scores.sort(reverse=True) # 내림차순으로 정렬
# k_scores 리스트의 길이가 k보다 크면 가장 낮은 점수 제거
if len(k_scores) > k:
k_scores.pop()
# 매일 명예의 전당에 추가되는 최하위 점수를 result에 추가
result.append(k_scores[-1])
return result
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 3진법 뒤집기 - Lv.1 (23) | 2023.09.01 |
---|---|
[프로그래머스] 예산 - Lv.1 (30) | 2023.08.31 |
[프로그래머스] 비밀지도 - Lv.1 (37) | 2023.08.30 |
[프로그래머스] 약수의 개수와 덧셈 - Lv.1 (20) | 2023.08.24 |
[프로그래머스] 두 정수 사이의 합 - Lv.1 (30) | 2023.08.23 |