구현 문제를 풀어보았다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int[] schedules = new int[366];
for(int i=0; i<N; i++) {
String[] input = br.readLine().split(" ");
int S = Integer.parseInt(input[0]);
int E = Integer.parseInt(input[1]);
for(int day=S; day<=E; day++) {
schedules[day] += 1;
}
}
int result = 0;
int serialDays = 0;
int maxScheduleCount = 0;
for(int day=1; day<=365; day++) {
if (schedules[day] != 0) {
serialDays += 1;
maxScheduleCount = Math.max(maxScheduleCount, schedules[day]);
} else {
result += serialDays * maxScheduleCount;
serialDays = 0;
maxScheduleCount = 0;
}
}
result += serialDays * maxScheduleCount;
bw.write(String.valueOf(result) + "\n");
br.close();
bw.flush();
bw.close();
}
}
'알고리즘' 카테고리의 다른 글
[백준/자바] #3079 (1) | 2025.06.12 |
---|---|
[백준/자바] #13549 (1) | 2025.06.09 |
[백준/자바] #2294 (1) | 2025.06.07 |
[백준/파이썬] #1477 (0) | 2025.06.02 |
[백준/파이썬] #2412 (0) | 2025.05.29 |