[파이썬, 자바] 백준 - 1715 (그리디 알고리즘, 우선순위 큐)
https://www.acmicpc.net/problem/1715 처음 이 문제를 봤을 때는 시간복잡도 내에 어떻게 풀지 전혀 감을 잡지 못 했지만, 우선순위 큐를 알고 있는 지금은 쉽게 풀 수 있었던 문제다. 먼저 들어온 데이터가 먼저 나가는 FIFO 형태의 일반적인 큐와 달리, 들어온 순서에 상관없이 우선순위가 높은 데이터가 먼저 나가는 큐이다. 문제 예제를 보면, 10, 20, 40의 카드 뭉치가 있을 때, 가장 적게 비교하여 합치는 방법은 (10 + 20) + (30 + 40) = 100이다. 즉, 적은 수의 카드 뭉치들부터 뭉치면 최소 횟수로 비교하여 합칠 수 있는 것이다. 이 예제만으로는 감이 안 잡혔다. "그냥 큐에 크기 순으로 넣고 두 개씩 뽑으면서 더하고, 더해서 나온 새로운 숫자를 다..
2024. 12. 2.