우선순위큐
-
[Priority queue] 간단한 참고개발/C·C++ 2021. 7. 3. 21:34
cppreference를 보면 내부적으로 디폴트로 vector을 이용해 데이터를 저장하며 정렬 방식은 오름차순인 것을 알 수 있습니다. less가 왜 오름차순인 이유는 왼쪽 항을 기준으로 a < b이기 때문에 결과적으로 오름차순이 됩니다. 우선순위 큐는 데이터의 최대값, 최소값을 찾고 싶을 때 유용합니다. 상수 시간으로 찾을 수 있습니다. 그렇다면 다음의 결과가 어떻게 될까요? priority_queue pq; pq.emplace(3); pq.emplace(5); pq.emplace(2); pq.emplace(4); pq.emplace(1); while (!pq.empty()) { cout
-
[프로그래머스] 더 맵게알고리즘/프로그래머스 2019. 12. 12. 02:27
문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..