[Array, Sort, Stack] Merge Intervals

2021. 4. 7. 14:09프로그래밍-코딩테스트/LeetCode

start와 end로 이루어진 interval의 배열이 input으로 들어올 때, 범위가 중복되는 값을 합쳐서 리턴하라

 

stack을 이용하여 풀이하였다

오름차순으로 정렬 후, stack에 interval[0]를 기준으로 넣어 둔다

interval[0][0]은 start, interval[0][1]은 end일 것이다. 

이때 stack의 원소의 end보다(Loop가 돌면 마지막 원소와 비교하게 될 것) intervals의 start가 짧다면, 두개를 합친 배열로 stack의 end를 바꿔준다.

그것이 아니라면 범위를 그대로 푸쉬해주면된다.