티스토리 뷰
728x90
문제
https://www.acmicpc.net/problem/1931
풀이 및 소스코드
먼저 회의가 끝나는 시간을 기준으로 오름차순으로 정렬한다.
(1,2) (3,3) (2,3) 이렇게 회의 시간이 주어졌다면,
회의가 끝나는 시간을 기준으로만 오름차순으로 정렬하게 되면 최대 회의 개수가 (1,2) (3,3) 2개가 출력되는 오류가 생긴다.
시작하자마자 끝나는 회의가 존재하기 때문이다.
따라서, 끝나는 시간이 같다면 시작하는 시간을 기준으로도 오름차순을 정렬해줘야 한다.
그렇게되면,
(1,2) (2,3) (3,3) 으로 정렬이 되기 때문에 올바른 답이 나올 수 있다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
Time[] room = new Time[n];
for(int i=0;i<n;i++) {
st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
room[i] = new Time(a, b);
}
Arrays.sort(room);
int res = 1;
int tmp = room[0].end;
for(int i=1;i<n;i++) {
if(tmp <= room[i].start) {
res+=1;
tmp = room[i].end;
}
}
System.out.println(res);
}
}
class Time implements Comparable<Time>{
int start;
int end;
public Time(int start, int end) {
super();
this.start = start;
this.end = end;
}
@Override
public int compareTo(Time o) {
if(this.end - o.end > 0 || this.end - o.end < 0){
return this.end - o.end; //양수면 바뀜 오름차순.
}
else {
return this.start - o.start;
}
// TODO Auto-generated method stub
}
}
반응형
'Coding - Algo > Java' 카테고리의 다른 글
[SWEA] 최적 경로 (Java 자바) (0) | 2021.08.19 |
---|---|
[백준] 3109번:빵집 (Java 자바) (0) | 2021.08.19 |
[백준] 11047번:동전 0 (Java 자바) (0) | 2021.08.18 |
[백준] 1992번:쿼드트리 (Java 자바) (0) | 2021.08.18 |
[SWEA] 4012번:요리사 (Java 자바) (0) | 2021.08.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- poker swea
- ubuntu
- 백준 풀이
- 3996 자바
- 메뉴리뉴얼 풀이
- SSAFY
- 타일링 자바
- 백준
- swea 4070 타일링
- 파이썬
- 1699 자바
- 백준파이썬
- 더 맵게
- 프로그래머스 더 맵게
- 프로그래머스 자바
- swea 1240
- 우분투
- 백준 dp 문제
- yoloV3
- SWEA
- swea 타일링
- 프로그래머스 파이썬
- union-find
- 프로그래머스
- swea 1240 자바
- 1240 자바
- swea 타일링 자바
- 파이썬 풀이
- 백준 17144
- 삼성청년SW아카데미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함