코-딩/Leetcode

[leetcode] 435. Non-overlapping Intervals

힞뚜루마뚜루 2023. 2. 12. 18:11
728x90

문제 : https://leetcode.com/problems/non-overlapping-intervals/description/

난이도 : Medium

 

인터벌들이 겹치지 않도록 제거해야하는 인터벌 수 구하는 문제!!

 

풀이
class Solution:
    def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
        count = 0 
        intervals.sort()
        
        for i in range(len(intervals) - 1):
            if intervals[i + 1][0] < intervals[i][1]:
                count += 1
                intervals[i + 1][1] = min(intervals[i + 1][1],intervals[i][1])
        
        return count

우선 인터벌들을 정렬하고 겹치는 구간이 발생하면 카운트한다.
그리고 겹치는 구간의 우좌표를 더 적은 걸로 땡겨준다.

카운트 하는 것까지는 알겠는데, 그 뒤를 어떻게 체크해야 하나 고민하다가 결국 다른 사람 풀이 참고...ㅎㅎㅎㅎㅎ

728x90