문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/42884

제한 사항

입출력 예

풀이
import java.util.PriorityQueue;
class Solution {
public int solution(int[][] routes) {
PriorityQueue<int[]> sortedRoutes
= new PriorityQueue<>((arr1, arr2) -> arr1[1] - arr2[1]);
int answer = 0;
for (int[] route : routes) sortedRoutes.add(route);
while (sortedRoutes.size() > 0) {
int[] cur = sortedRoutes.poll();
while (sortedRoutes.size() > 0 && sortedRoutes.peek()[0] <= cur[1]) {
sortedRoutes.poll();
}
answer++;
}
return answer;
}
}
후기
처음에 문제를 보자마자 전에 풀었던 문제가 생각나서 일단 나가는 곳 기준으로 정렬하고 나가는 곳보다 먼저 들어온 경로가 있으면 해당 경로들을 모두 한 묶음으로 구성하는 방식으로 풀었다. 그냥 작성하고 테스트 통과하길래 제출해 봤더니 한 번에 통과했다...
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][Java][Lv. 3] 기지국 설치 (0) | 2024.09.13 |
|---|---|
| [프로그래머스][Java][Lv. 3] 최고의 집합 (0) | 2024.09.11 |
| [프로그래머스][Java][Lv. 3] 숫자 게임 (2) | 2024.09.08 |
| [프로그래머스][Java][Lv. 3] 등굣길 (0) | 2024.09.03 |
| [프로그래머스][Java][Lv. 3] 단어 변환 (0) | 2024.09.02 |