class Solution:
def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
start, end, x, y = None, None, newInterval[0], newInterval[1]
intervals = [[-2, -1]] + intervals + [[100001, 100002]]
for i in range(1, len(intervals)-1):
a, b = intervals[i-1]
c, d = intervals[i]
e, f = intervals[i+1]
if b < x <= d:
start = i
if c <= y < e:
end = i
print(start, end)
if start == None and end == None:
return [[x,y]]
if start == None:
return intervals[1:-1] + [[x,y]]
if end == None:
return [[x,y]] + intervals[1:-1]
return intervals[1:start] + [[min(intervals[start][0],x), max(intervals🔚[1],y)]] + intervals[end+1:-1]
개인적으로 링크드 리스트 문제를 그리 좋아하지 않음..
효율적인지는 모르겠고 대충 풀었다.
이정도 길이만 되어도 해설이 필요한가? 싶기도 함
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.