Algorithm(C++)/우선순위큐2 [BOJ - 11000] 강의실 배정(C++) 문제 접근 방법수업 시작 시간을 기준으로 정렬 -> 우선순위 큐로 현재 사용 중인 강의실 관리가장 빨리 끝나는 강의실의 종료 시간 -> 새로운 강의의 시작 시간보다 작거나 같은 경우(pop, push를 통해 재사용) 코드#include #include #include #include using namespace std;int N;vector> lesson;int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N; lesson.resize(N); for (int i = 0; i > lesson[i].first >> lesson[i].second; sort(lesso.. 2025. 2. 9. [BOJ - 1715] 카드 정렬하기(C++) 문제 접근 방법항상 가장 작은 두 묶음을 선택하는 방법을 사용해야 함 -> 최소 힙으로 접근하기로 결정 기존 코드#include #include using namespace std;int main() { int N; cin >> N; priority_queue, greater> q; for (int i = 0; i > card; q.push(card); } int result = 0; while (q.size() > 1) { int t = q.top(); q.pop(); t += q.top(); q.pop(); result += t; q.push(t); } co.. 2025. 2. 6. 이전 1 다음