56. Merge Intervals

남궁진 (jinvicky)·2026년 3월 17일
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개의 댓글