https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 📚 문제 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다. 📝 문제 해결 1) 입력받은 강의 시간을 오름차순으로 정렬해준다. 시작시간이 같을 경우 종료시간을 기준으로 오름차순 정렬 2-1) 우선순위 큐에 시작시간이 가장 빠른 강의의 종료시간(배열의 첫번째 end값)을 저장한 뒤 2-2) 현재 탐색하는 강의의 시작시간이 큐에 담겨져있는 강의들 중 가장 빠른 종료시간보다 크거나 같은..
https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 📚 문제 총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. i번 시험장에 있는 응시자의 수는 Ai명이다. 감독관은 총감독관과 부감독관으로 두 종류가 있다. 총감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관은 한 시험장에서 감시할 수 있는 응시자 수가 C명이다. 각각의 시험장에 총감독관은 오직 1명망 있어..
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 📚 문제 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 📝 문제 해결 최솟값을 만들기 위해서는 최대한 큰 수를 빼주어야 한다. 즉, 덧셈 먼저 계산한 뒤 빼주면된다. 10-20+30-40+50 => 10-(20+30)-(40+50) 1) 뺄셈을 기준으로 문자열을 분리시킨다. 2) 덧셈을 기준으로 문자열을 분리시킨 후 더해준다. 3) 더해준 값들을 빼준다. 💻 코드 i..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 📚 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만드려한다. 각 회의 i에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 📝 문제 해결 겹치지 않은 시간에 대해 종료시간이 빠르면 더 많은 회의를 할 수 있으므로 종료시간을 기준으로 정렬해 준 뒤 먼저 빨리 끝나는 것을 선택하고 (a) 이전 종료시간에 대해 겹치는 회의를 제외한 다음 남은 회의를 선택한다. (b) 💡 만약 종료시간이 같은 ..