728x90
반응형
SMALL
프로그래머스 Level 2 더 맵게를 파이썬을 통해 풀어보았다.
https://programmers.co.kr/learn/courses/30/lessons/42626
Level 2 더 맵게
설명
scoville에 대해서 가장 안 매운 음식과 두 번째로 안 매운 음식을 출력해야 한다. 이는 최소 힙으로 출력할 수 있다. 단 scoville의 길이가 1이면서 하나뿐인 음식이 K보다 작다면 더 이상 음식을 섞을 수 없으므로 -1을 출력한다.
최소 힙을 통해 가장 안 매운 음식과 두 번째로 안 매운 음식을 출력하고 섞는다. 새로운 음식이 생겼으므로 다시 scoville에 넣어준다. 이 과정을 반복하면 반복 횟수를 센다.
최소 힙으로 출력한 가장 안 매운 음식이 K보다 크다면 반복문을 종료한다.
코드
#Level 2 더 맵게
import heapq
def solution(scoville, K):
answer = 0
scoville.sort()
while scoville[0] < K :
if len(scoville) == 1 :
return -1
temp = heapq.heappop(scoville)
temp += heapq.heappop(scoville)*2
heapq.heappush(scoville,temp)
answer += 1
return answer
728x90
반응형
SMALL
'Problem Solving > programmers' 카테고리의 다른 글
[programmers] Level 2 기능 개발.py (0) | 2021.06.22 |
---|---|
[programmers] Level 2 문자열 압축.py (0) | 2021.06.21 |
[programmers] Level 2 124 나라의 숫자.py (0) | 2021.06.17 |
[programmers] Level 2 멀쩡한 사각형.py (0) | 2021.06.13 |
[programmers] Level 2 짝지어 제거하기.py (0) | 2021.06.12 |