DevYoon
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๋งต๊ฒ (Python) ๋ณธ๋ฌธ
link ๐ https://programmers.co.kr/learn/courses/30/lessons/42626
ํ ๋ฐฐ์ฐ๊ณ ํธ๊ธฐ๋กญ๊ฒ ํ๊ธฐ์ ๋์ ํ์ผ๋ ์ ํ์ฑ ํ ์คํธ๋ ๋ค ๋ง์๋๋ฐ ํจ์จ์ฑ์ ๋ค ํ๋ ธ๋ค๐ฅฒ
ํจ์จ์ฑ ๊ทธ๊ฒ ๋ญ๋ฐ...!! ํ ใ ใ ์ผ๋จ ์ ํ์ฑ ๋ค ๋ง์ ์ฝ๋... ์ข ๋ ๊ณต๋ถํด์ ํจ์จ์ฑ๋ ๋ค ํต๊ณผํ๊ฒ ์ด...๐ฅฒ
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville)
while True:
# ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๊ฐ K ์ด์์ธ์ง ํ์ธ
food = 0
for i in range(len(scoville)):
if scoville[i] >= K:
food += 1
if food == len(scoville): # ์ค์ฝ๋น ์ง์ K ์ด์์ธ ์์ ๊ฐ์์ ์ค์ฝ๋น์ ๊ฐ์๊ฐ ๋์ผํ๋ฉด
break # ๋ฐ๋ณต๋ฌธ ์ข
๋ฃ
if len(scoville) <= 1: # ์์ ๊ฐ์๊ฐ 1๊ณผ ๊ฐ๊ฑฐ๋ ์์์ง๋ฉด ๋ถ๊ฐ๋ฅํ ๊ฒ์ด๋ฏ๋ก
return -1 # -1 ๋ฆฌํด
temp1 = heapq.heappop(scoville) # ์ค์ฝ๋น ์ง์ ์ ์ผ ์์ ์์
temp2 = heapq.heappop(scoville) # ๋ ๋ฒ์งธ๋ก ์์ ์์
heapq.heappush(scoville, temp1+(temp2*2)) # ์์ ์๋ก์ด ์์ push
answer += 1 # answer 1 ์ฆ๊ฐ
return answer