본문 바로가기
코테 스터디

백준 11000번: 강의실 배정 - java

by HIIDO 2022. 10. 3.
반응형

https://www.acmicpc.net/problem/11000

11000번: 강의실 배정

첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109)

www.acmicpc.net


<코드>

import java.io.*;
import java.util.*;

public class timeTable {

	public static void main(String[] args) throws Exception {
		int roomCnt = 0;
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		System.out.print("수업의 개수:");
		int classCnt = Integer.parseInt(br.readLine()); // 수업의 개수
		int[][] coordinate = new int[classCnt][2];

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

		Arrays.sort(coordinate, new Comparator<int[]>() {

			@Override
			public int compare(int[] o1, int[] o2) {
				// TODO Auto-generated method stub
				if (o1[1] == o2[1])
					return o1[0] - o2[0];
				return o1[1] - o2[1];
			}
		});

//		for (int i = 0; i < classCnt; i++) {
//			bw.write(String.valueOf(coordinate[i][0]) + " " + String.valueOf(coordinate[i][1]) + "\n");
//		}
		
//		for (int i = 0; i < n; i++) {
//			bw.write(String.valueOf(coordinate[i][0])); -> 1 2 3 
//		}

//		bw.write(String.valueOf(coordinate[0][0])); // 1 
//		bw.write(String.valueOf(coordinate[0][1])); // 3 
//		System.out.println();
//		bw.write(String.valueOf(coordinate[1][0])); // 2
//		bw.write(String.valueOf(coordinate[1][1])); // 4
//		System.out.println();
//		bw.write(String.valueOf(coordinate[2][0])); // 3
//		bw.write(String.valueOf(coordinate[2][1])); // 5
		
		for (int i = 0; i < classCnt; i++) {
			if ((i+1) == classCnt) break; 
			else {
				if (coordinate[i][1] > coordinate[i+1][0] ) {
					roomCnt++;
				}
			}	
		}
		
		System.out.println("강의실의 개수:"+roomCnt);
		
		br.close();
		bw.close();
		
		
		
	}

}


<풀이>
startTime과 endTime을 2차원 배열로 입력받고
오름차순 정렬하고
( [현재 - 1]의 endTime ) > ( [현재]의 startTime ) 이면
강의실을 추가하도록
하면 된다네요
근데 난 왜 안 될까

<피드백>
02:31
풀엇어요!!

반응형