-
[백준 1931] 회의실 배정 - 그리디 알고리즘코딩테스트 문제풀이 2021. 10. 12. 23:24
문제
풀이
import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int count = scanner.nextInt(); int[][] conversations = new int[count][2]; for (int i = 0; i < count; i++) { conversations[i][0] = scanner.nextInt(); conversations[i][1] = scanner.nextInt(); } scanner.close(); Arrays.sort(conversations, new Comparator<int[]>() { public int compare(int[] o1, int[] o2) { if(o1[1] == o2[1]) { return o1[0] - o2[0]; } return o1[1] - o2[1]; } }); int answer = 0; int[] current = null; for (int i = 0; i < count; i++) { if (current == null || current[1] <= conversations[i][0]) { current = conversations[i]; answer++; } } System.out.println(answer); } }
- 끝나는 시간 순으로 정렬
- 끝나는 시간이 가장 빠르고, 회의가 끝나자 마자 가장 빨리 시작할 수 있는 회의로 선택. (가장 빨리 시작하면서 가장 빨리 끝나는 것)
'코딩테스트 문제풀이' 카테고리의 다른 글
[프로그래머스] 표 편집 (0) 2021.10.14 [프로그래머스] 다단계 칫솔 판매 (0) 2021.10.12 [백준 1920] 수찾기 - 이분탐색 (0) 2021.10.07 [프로그래머스] 야근지수 (0) 2021.10.06 [백준 2798] 블랙잭 (0) 2021.10.06