반응형
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
풀엇어요!!
반응형
'코테 스터디' 카테고리의 다른 글
| 백준 12784번: 인하니카 공화국 X - java (0) | 2022.10.11 |
|---|---|
| 백준 2231번: 분해합 - java (0) | 2022.10.11 |
| [Greedy] 프로그래머스 체육복 - java (0) | 2022.10.04 |
| 백준 13305번: 주유소 △ - java (0) | 2022.10.02 |
| 백준 11047번: 동전 0 in java (0) | 2022.09.27 |