56. Merge Intervals

jinvicky (남궁진)·2026년 3월 17일

Algorithm - Java

목록 보기
70/73
post-thumbnail

Problem


https://leetcode.com/problems/merge-intervals/?envType=problem-list-v2&envId=rab78cw1

Solution


앞서서 Insert Interval을 풀었다면 이 문제는 당연 풀 수 있다.
초기화 로직을 제외한 모든 로직이 동일하기 때문에 풀이는 생략한다.

아래 포스팅으로 풀이를 대체한다.
https://velog.io/@jinvicky/57-Insert-Interval

Code


class Solution {
    public int[][] merge(int[][] intervals) {
        Arrays.sort(intervals, (a,b) -> a[0] - b[0]);

        List<int[]> result = new ArrayList<>();

        for(int[] interval : intervals) {

            if(result.isEmpty()) {
                result.add(interval);
            } else if (result.get(result.size()-1)[1] < interval[0]) {
                result.add(interval);
            } else {
                result.get(result.size()-1)[1] = Math.max(result.get(result.size()-1)[1], interval[1]);
            }
        }
        return result.toArray(new int[result.size()][]);

    }
}
profile
하나씩 차근차근하게 하자:)

0개의 댓글