PS/BOJ2022. 5. 8. 15:15

회의실 배정 : https://www.acmicpc.net/problem/1931

 

 

1. 먼저 끝나는 회의 부터 선택한다.

2. 끝나는 시간이 같은 경우, 늦게 시작하는 회의를 선택한다.

 

 

2번을 고려하지 않는다면 아래의 반례에서 오답을 출력하게 된다.

 

반례 : 

2
1 1
0 1

2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import java.util.*;

public class Main {

	static int N, M;
	static boolean DBG = false;
	static int[][] arr;

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());

		N = Integer.parseInt(st.nextToken());
		arr = new int[N][2];

		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine());
			arr[i][0] = Integer.parseInt(st.nextToken());
			arr[i][1] = Integer.parseInt(st.nextToken());
		}

		Arrays.sort(arr, (t1, t2) -> {
			if ( t1[1] == t2[1])
				return t1[0]-t2[0];
			return t1[1] - t2[1];
		});

		if (DBG) {
			for (int i = 0; i < N; i++) {
				System.out.printf("[%d %d]\n", arr[i][0], arr[i][1]);
			}
		}

		int cnt = 0;
		int endTime = 0;
		for (int i = 0; i < N; i++) {
			if (endTime <= arr[i][0]) {
				cnt++;
				endTime = arr[i][1];
			}
		}
		System.out.println(cnt);

	}

}

'PS > BOJ' 카테고리의 다른 글

1707  (0) 2022.05.10
2873  (0) 2022.05.10
1783  (0) 2022.05.08
10610  (0) 2022.05.08
2875  (0) 2022.05.07
Posted by easy16