
-Code
import java.io.*;
import java.util.*;
class Main {
static class TimeInfo {
int start, end;
public TimeInfo(int start, int end) {
this.start = start;
this.end = end;
}
}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
// 시간 정보 받기
TimeInfo[] infos = new TimeInfo[n];
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
infos[i] = new TimeInfo(start, end);
}
br.close();
// 끝나는 시간이 작은 순으로 정렬
Arrays.sort(infos, Comparator.comparingInt(o -> o.end));
// 계산
int answer = 0;
int nowTime = 0;
for(TimeInfo info : infos) {
if (info.start > nowTime) {
nowTime = info.end;
answer++;
}
}
System.out.println(answer);
}
}
정렬 기준을 처음에 잘못잡아서 틀렸었습니다.
'알고리즘 문제 > Java' 카테고리의 다른 글
| [goormlevel/Java] 숫자 배열 (0) | 2026.05.28 |
|---|---|
| [goormlevel/Java] 카드 모으기 (0) | 2026.05.27 |
| [goormlevel/Java] 단어 필터 (0) | 2026.05.25 |
| [goormlevel/Java] 수열 (0) | 2026.05.24 |
| [goormlevel/Java] 거스름돈 (0) | 2026.05.24 |