알고리즘
[programmers] 더 맵게
78이
2020. 10. 10. 16:56
로직
1. 우선순위큐를 이용해서 가장 작은 값, 두번째로 작은 값을 뺀 후, heappush를 이용해서 넣으면 값의 크기를 기준으로 들어간다.
2. 이때, 값을 두개를 빼야하기 때문에 scoville 리스트에 값이 두개 이상 들어가있어야 first, second로 뺄 수 있고,
heapq구조이므로 첫번째 값이랑 K랑 비교해서 크면 뒤에 값들은 다 큰것이다.
heapq구조이므로, 마지막으로 값이 하나 남아 있을 때, K보다 작으면 -1을 리턴한다.
코드
주의할 점
1. heapq 이해가 필요하다. heappop, heappush를 사용하기 위해서는 우선 리스트가 heapify로 정렬되어있어야한다.