티스토리 뷰

백준 1202 : 보석 도둑

등급 : Gold II

1202번: 보석 도둑 (acmicpc.net)

 

1202번: 보석 도둑

첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci

www.acmicpc.net

사용 알고리즘 : Greedy, Sorting

사용 자료구조 : Deque, Priority_Queue

 

정렬과 우선순위 큐를 이용해 푸는 그리디 문제였다.

가방의 크기와 보석을 무게순으로 오름차순으로 정렬하고, 가방을 하나씩 선택해 현재 가방의 허용 무게 내의 보석을 선택.

현재 가방에 들어갈 수 있는 보석의 가격을 우선순위 큐에 입력.

이후 현재 가방에 맞는 최고 보석 가격을 선택하고, 다음 가방으로 변경.

위의 아이디어만 떠올리면 풀 수 있는 문제이다.

cpp
코드 펼치기
java
코드 펼치기
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함