728x90
🔗 문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📁 분류
시뮬레이션
구현
자료구조
💡 풀이
이 문제는 리스트에 가장 작은 값을 뽑아내는 문제이다. 만약 리스트에 용량이 다 찾다면 현재 값과 가장 작은 값을 비교하여 가장 작은 값을 빼고 새로운 값을 넣어야 한다.
나는 리스트를 정렬하고 가장 작은 값을 뽑아내는 방식으로 풀었지만, min
함수를 사용하면 더 간단하게 풀 수 있었다.
💻 코드
"""
[0, 300, 40, 300, 20, 70, 150, 50, 500, 1000]
0 -> 0
300 0 -> 0
300 40 0 -> 0
300 300 40 0 -> 0
300 300 40 20 -> 20
300 300 70 40 -> 40
300 300 150 70 -> 70
300 300 150 70 -> 70
500 300 300 150 -> 150
1000 500 300 300 -> 300
"""
def solution(k, score):
answer = []
arr = []
for s in score:
if len(arr) == k:
if arr[-1] < s:
arr.pop()
arr.append(s)
else:
arr.append(s)
arr.sort(reverse=True)
answer.append(arr[-1])
return answer
solution(4, [0, 300, 40, 300, 20, 70, 150, 50, 500, 1000])
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 Lv1 - 기사단원의 무기 (0) | 2023.10.31 |
---|---|
[python] 프로그래머스 Lv 1 - 문자열 나누기 (0) | 2023.10.06 |
[python] 프로그래머스 Lv 1 - 가장 가까운 같은 글자 (0) | 2023.10.05 |
[python] 프로그래머스 Lv 1 - 크기가 작은 부분 문자열 (1) | 2023.10.04 |
[python] 프로그래머스 Lv 1 - 개인정보 수집 유효기간(2023 KAKAO BLIND RECRUITMENT) (0) | 2023.10.03 |