문제 그대로 작성해서 해결
def solution(k, score):
answer = []
daily_score = []
for e in score:
daily_score.append(e)
if len(daily_score) > k:
daily_score.remove(min(daily_score))
answer.append(min(daily_score))
return answer
해결 이후 정렬된 배열에서 k번째 값을 추출한 값이 정답과 같은 값이라는 생각이 들어 아래와 같은 방식으로도 해결.
def solution(k, score):
answer = [score[0]]
for i in range(1, len(score)):
if i < k:
answer.append(min(score[:i+1]))
else:
answer.append(sorted(score[:i+1], reverse=True)[k-1])
return answer
다만 매 반복마다 sorted 함수가 실행되기때문에 전자의 해결 방법이 더 빨랐다.
'Algorithm' 카테고리의 다른 글
[Programmers] 120841.py 점의 위치 구하기 (0) | 2023.06.11 |
---|---|
[Programmers] 120814.py 피자 나눠 먹기 (1) (0) | 2023.06.08 |
[Programmers] 135808.py 과일 장수 (0) | 2023.06.07 |
[Programmers] 132267.py 콜라 문제 (0) | 2023.06.03 |
[Programmers] 12981.py 영어 끝말잇기 (0) | 2023.05.31 |