File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ # https://leetcode.com/problems/insert-interval/
2+ #
3+ # ์๋ก์ด ๊ตฌ๊ฐ์ ๊ธฐ์กด์ ์ ๋ ฌ๋ ๊ตฌ๊ฐ ๋ฆฌ์คํธ์ ์ฝ์
ํ๊ณ , ๊ฒน์น๋ ๊ตฌ๊ฐ์ ๋ณํฉ
4+ # ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋ [start, end] ํํ์ ๋ฆฌ์คํธ.
5+ # ์๋ก์ด interval [newStart, newEnd]๋ฅผ ์ฝ์
ํ ํ์๋ ๊ตฌ๊ฐ์ด ๊ฒน์น์ง ์๊ณ ์ ๋ ฌ๋ ์ํ๋ก ์ ์ง.
6+ #
7+ # TC: O(N), ๊ฐ interval์ ์ต๋ ํ ๋ฒ์ฉ๋ง ํ์
8+ # SC: O(N)
9+
10+ from typing import List
11+
12+ class Solution :
13+ def insert (self , intervals : List [List [int ]], newInterval : List [int ]) -> List [List [int ]]:
14+ res = []
15+ i = 0
16+ n = len (intervals )
17+
18+ # 1. ์ผ์ชฝ์ ์๋ ๊ฒน์น์ง ์๋ ๊ตฌ๊ฐ
19+ while i < n and intervals [i ][1 ] < newInterval [0 ]:
20+ res .append (intervals [i ])
21+ i += 1
22+
23+ # 2. ๊ฒน์น๋ ๊ตฌ๊ฐ ๋ณํฉ
24+ while i < n and intervals [i ][0 ] <= newInterval [1 ]:
25+ newInterval [0 ] = min (newInterval [0 ], intervals [i ][0 ])
26+ newInterval [1 ] = max (newInterval [1 ], intervals [i ][1 ])
27+ i += 1
28+ res .append (newInterval )
29+
30+ # 3. ์ค๋ฅธ์ชฝ์ ์๋ ๊ฒน์น์ง ์๋ ๊ตฌ๊ฐ
31+ while i < n :
32+ res .append (intervals [i ])
33+ i += 1
34+
35+ return res
You canโt perform that action at this time.
0 commit comments