
[BOJ 1202] 보석 도둑
·
Coding Test/Problem Solving
문제 예제 예제 1에서는 첫 번째 보석을 담았을 때가 최대이고, 예제 2에서는 첫 번째 보석을 두 번째 가방에, 세 번째 보석을 첫 번째 가방에 담았을 때가 최대이다. 구현 1 - 시간 초과 💡 보석을 가격이 높은 순으로 정렬, 가방은 무게가 작은 순으로 정렬하고 비싼 보석부터 차례대로 가방에 담는다 우선순위 큐를 사용하면 자동으로 정렬이 되므로 보석 정보를 priority_queue에 담아주었다. 보석을 담을 수 있는 가방을 찾기 위해 반복문을 사용하였는데, 이 때 한 가방에 2개의 보석이 담기지 않도록 visited 배열을 추가로 사용해주었다. #include using namespace std; int n, k; // 보석과 가방의 개수 priority_queue v; // {보석 가격, 무게} v..