🌏문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
👽풀이
이거 그냥 리스트로 풀면 런타임 에러난다. heapq를 사용해야한다!
- heapq.heapify(arr) : 리스트를 heap으로 변환해줌
- heapq.heappop(arr) : heap에서 가장 작은 수 리턴
- heapq.heappush(arr, ele) : heap에 삽입
import heapq
def solution(scoville, K):
answer = 0
heapq.heapify(scoville)
while scoville[0] < K:
if len(scoville) == 1:
return -1
mix = heapq.heappop(scoville) + (heapq.heappop(scoville) * 2)
heapq.heappush(scoville,mix)
answer += 1
return answer
728x90
'💡코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | 파이썬 python] 이중우선순위큐 (0) | 2023.04.18 |
---|---|
[프로그래머스 | 파이썬 python] 디스크 컨트롤러 (0) | 2023.04.18 |
[프로그래머스 | 파이썬 python] 주식가격 (0) | 2023.04.17 |
[프로그래머스 | 파이썬 python] 다리를 지나는 트럭 (0) | 2023.04.17 |
[프로그래머스 | 파이썬 | python] 프린터 (0) | 2023.04.17 |