문제
스코빌 지수를 K이상으로 만들고 싶어서, 스코빌 낮은 음식을 더 맵게 만들기 위해
가장 맵지 않은 음식이랑 그다음으로 안 매운 음식*2 를 섞어서 새로운 음식을 만들거야.
모든 음식의 스코빌지수가 K이상이 될 때까지 반복한다면, 몇 번 섞어야 하니?
[https://programmers.co.kr/learn/courses/30/lessons/42626]
- heappop(배열)
: 제일 작은 원소 꺼내기 - heappush(원소, 배열)
: 원소 넣기
import heapq as hq
def solution(scoville, K):
ans = 0
hq.heapify(s)
while True:
if len(s) == 1 and s[0] <k:
return -1
if s[0] >=k:
return ans
small = hq.heappop(s)
second = hq.heappop(s)
new = small + 2*second
hq.heappush(s,new)
ans += 1
s = [1, 2, 3, 9, 10, 12]
k = 7
print(solution(s,k)==2)
'⚡️algorithm' 카테고리의 다른 글
[정렬/파이썬] 프로그래머스 lv2. 가장 큰 수 (feat. sort 메서드) (0) | 2022.05.24 |
---|---|
[정렬] 프로그래머스 lv2. h-index (0) | 2022.05.24 |
[해쉬] 프로그래머스 lv2. 전화번호 목록 (0) | 2022.05.20 |
[해쉬] 프로그래머스 lv2. 위장 (1) | 2022.05.20 |
[해쉬] 프로그래머스 lv1. 완주하지 못한 선수 (0) | 2022.05.20 |