プログラマーコードテスト高得点Kit Hipより辛い
質問の表示 👈 クリック!
Pythonのheapqモジュールを用いて最小hipを実現した.
入力したscovilleをsortし、インデックス0の位置に最大値を付けます.
最も辛くない食べ物popとkを比較します.
kより小さい場合は、2回目に辛くない食べ物をポップアップし、最も辛くない食べ物と混合して添加し、混合回数を計算する.
このとき、最も辛くない食べ物が最後の食べ物である場合は、-1に戻って終了します.
kより大きい場合は、ブレンドの回数を返して終了します.
インプリメンテーションコード👇
💡 に答える
解✔方法
Pythonのheapqモジュールを用いて最小hipを実現した.
入力したscovilleをsortし、インデックス0の位置に最大値を付けます.
最も辛くない食べ物popとkを比較します.
kより小さい場合は、2回目に辛くない食べ物をポップアップし、最も辛くない食べ物と混合して添加し、混合回数を計算する.
このとき、最も辛くない食べ物が最後の食べ物である場合は、-1に戻って終了します.
kより大きい場合は、ブレンドの回数を返して終了します.
インプリメンテーションコード👇
#섞은 횟수 return
#heapq모듈로 최소힙 구현
import heapq
def solution(scoville, K):
answer = 0
scoville.sort() #최소힙에서는 가장 작은 값이 인덱스0에 위치해야한다.
while 1:
first = heapq.heappop(scoville) #가장 안 매운 음식
if first < K:
if not scoville: #마지막 음식이 k보다 작을 경우
return -1
second = heapq.heappop(scoville) #두번째로 안 매운 음식
heapq.heappush(scoville, first + second*2)
answer += 1 #섞은 횟수 카운트
else:
return answer
Reference
この問題について(プログラマーコードテスト高得点Kit Hipより辛い), 我々は、より多くの情報をここで見つけました https://velog.io/@himinhee/프로그래머스-코딩테스트-고득점-Kit힙더-맵게テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol