Skip to content

Commit e453381

Browse files
committed
merge-intervals solution
1 parent 48e578b commit e453381

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

merge-intervals/moonjonghoo.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
function merge(intervals) {
2+
if (intervals.length === 0) return [];
3+
4+
// 1) 시작점 기준 정렬
5+
intervals.sort((a, b) => a[0] - b[0]);
6+
7+
const merged = [];
8+
for (const interval of intervals) {
9+
// 2) 결과 배열의 마지막 구간
10+
const last = merged[merged.length - 1];
11+
12+
// 3) 겹치지 않으면 새 구간 추가
13+
if (!last || interval[0] > last[1]) {
14+
merged.push(interval);
15+
} else {
16+
// 4) 겹치면 병합: 끝점 확장
17+
last[1] = Math.max(last[1], interval[1]);
18+
}
19+
}
20+
return merged;
21+
}

0 commit comments

Comments
 (0)