개발조각

[리트코드] 57. Insert Interval 본문

알고리즘🅰/리트코드

[리트코드] 57. Insert Interval

개발조각 2022. 11. 4. 14:47
728x90
반응형

문제

https://leetcode.com/problems/insert-interval/

 

Insert Interval - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

 

아마 이 이미지 보시면 이해하실 수 있을 겁니다.


소스코드

var insert = function(intervals, newInterval) {
    intervals = [...intervals, newInterval].sort((a,b)=> a[0]-b[0]);
    if(intervals.length === 1) return intervals;
    
    let result = [];
    let prev = intervals[0];
    for(let i=1; i<intervals.length; i++){        
        if(prev[1] >= intervals[i][0]){
            let nums = [...prev, ...intervals[i]];
            prev = [Math.min(...nums), Math.max(...nums)];
        }else{
            result.push(prev);
            prev = intervals[i];
        }
        
        if(i === intervals.length-1) result.push(prev);
    }
    return result;
};


알고리즘 순서도

728x90
반응형
Comments