스위핑3 [백준] 19598: 최소 회의실 개수 - JAVA https://www.acmicpc.net/problem/19598 풀이회의의 시작, 종료 시간이 주어지고 최의실을 배정해야 한다. 회의실의 개수를 최소로 해야한다. 시작시간 순으로 정렬을해서 차례대로 회의실에 집어넣었다. 우선순위큐에 종료시간을 넣고, 우선순위큐의 peek이 새로 들어갈 회의의 시작시간보다 작다면 그 방을 사용할 수 있다. 메모리: 48764KB시간: 668ms언어: Java 11import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputS.. 2024. 5. 17. [백준] 13334: 철로 - JAVA https://www.acmicpc.net/problem/13334 풀이n명의 사람에 대해 2개씩 점의 위치가 주어지고, d길이의 선을 위치했을 때 2개의 점이 모두 선 안에 있는 사람의 최댓값을 구하는 문제이다. 입력을 받으면서 우선순위큐에 저장했다. 우선순위큐의 정렬 조건은 오른쪽 점을 오름차순으로, 오른쪽 점이 같을 경우 왼쪽 점을 오름차순으로 했다. 또 다른 우선순위큐을 만들어 개수를 세는 용도로 사용했다. 첫번째 우선순위큐를 pq라 하고, 두번째 우선순위큐를 count라고 했다. pq에서 값을 빼서 count에 넣는다. 이때 선분 d의 오른쪽 점을 pq에서 뺀 값의 오른쪽 점으로 하고, 이 선분에 왼쪽 점이 속해있지 않는 값들을 count에서 뺀다. 그 후 최댓값을 count의 size와 비교하.. 2024. 5. 16. [백준] 28070: 유니의 편지 쓰기 - JAVA https://www.acmicpc.net/problem/28070 풀이누적합으로 풀 수 있는 문제이다. (입대 월)에는 배열에 +1을 해주고 (전역 월 + 1)에는 배열에 -1을 해준다. 2000년 1월부터 9999년 12월까지 돌면서 이전 배열의 것을 더해준다. 메모리: 81920KB시간: 824ms언어: Java 11import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = I.. 2024. 5. 11. 이전 1 다음