본문 바로가기
알고리즘 문제/Java

[goormlevel/Java] 구름스퀘어

by 현장 2026. 5. 26.

-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