File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * [Problem]: [57] Insert Interval
3
+ * (https://leetcode.com/problems/insert-interval/)
4
+ */
5
+
6
+ //시간복잡도 O(n)
7
+ //공간복잡도 O(n)
8
+ function insert ( intervals : number [ ] [ ] , newInterval : number [ ] ) : number [ ] [ ] {
9
+ const result : number [ ] [ ] = [ ] ;
10
+
11
+ let idx = 0 ;
12
+
13
+ while ( idx < intervals . length && intervals [ idx ] [ 1 ] < newInterval [ 0 ] ) {
14
+ result . push ( intervals [ idx ] ) ;
15
+ idx ++ ;
16
+ }
17
+
18
+ while ( idx < intervals . length && intervals [ idx ] [ 0 ] <= newInterval [ 1 ] ) {
19
+ newInterval = [
20
+ Math . min ( intervals [ idx ] [ 0 ] , newInterval [ 0 ] ) ,
21
+ Math . max ( intervals [ idx ] [ 1 ] , newInterval [ 1 ] ) ,
22
+ ] ;
23
+ idx ++ ;
24
+ }
25
+
26
+ result . push ( newInterval ) ;
27
+
28
+ while ( idx < intervals . length ) {
29
+ result . push ( intervals [ idx ] ) ;
30
+ idx ++ ;
31
+ }
32
+
33
+ return result ;
34
+ }
You can’t perform that action at this time.
0 commit comments