본문 바로가기

알고리즘

[programmers] 더 맵게


로직

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