
intervals를 큐로 만들고 newInterval의 start가 intervals[i]에 속했을 때 두 번 popleft를 한 뒤에 appendleft를 하는 방식.intervals 중간에 있는 값을 바꾸기 어려움.그림을 그리면 3가지 경우를 쉽게 떠올릴 수 있다.
newInterval[1] < interval[i][0]

newInterval과 interval[i]이 겹치지 않기 때문에 result에 newInterval을 그대로 넣어주면 된다.
newInterval[0] > interval[i][1]

이것도 둘이 겹치지 않는다. 이때는 result에 interval[i]를 넣어준다.
겹칠 때

[min(starts), max(starts)]를 하면 된다.
class Solution:
def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
result = []
for i in range(len(intervals)):
if newInterval[1] < intervals[i][0]:
result.append(newInterval)
return result + intervals[i:]
elif newInterval[0] > intervals[i][1]:
result.append(intervals[i])
else:
newInterval = [min(newInterval[0], intervals[i][0]), max(newInterval[1], intervals[i][1])]
result.append(newInterval)
return result