로직
1. 우선순위큐를 이용해서 가장 작은 값, 두번째로 작은 값을 뺀 후, heappush를 이용해서 넣으면 값의 크기를 기준으로 들어간다.
2. 이때, 값을 두개를 빼야하기 때문에 scoville 리스트에 값이 두개 이상 들어가있어야 first, second로 뺄 수 있고,
heapq구조이므로 첫번째 값이랑 K랑 비교해서 크면 뒤에 값들은 다 큰것이다.
heapq구조이므로, 마지막으로 값이 하나 남아 있을 때, K보다 작으면 -1을 리턴한다.
코드
주의할 점
1. heapq 이해가 필요하다. heappop, heappush를 사용하기 위해서는 우선 리스트가 heapify로 정렬되어있어야한다.
'알고리즘' 카테고리의 다른 글
[programmers] 등굣길 (0) | 2020.10.17 |
---|---|
[programmers] 정수 삼각형 (0) | 2020.10.14 |
[baekjoon] 15686. 치킨 배달 (0) | 2020.10.09 |
[programmers] N으로 표현 (0) | 2020.10.06 |
[programmers] 가사 검색 (0) | 2020.10.02 |