새소식

Career/Coding Test

99클럽 코테 스터디 29/99일차 TIL #Find Right Interval(미들러)

  • -
반응형

 

https://leetcode.com/problems/find-right-interval/description/

import bisect def findRightInterval(intervals): n = len(intervals) # 구간의 시작점을 기준으로 정렬합니다. start_points = sorted((interval[0], i) for i, interval in enumerate(intervals)) result = [] for interval in intervals: # 현재 구간의 끝점을 기준으로 이진 탐색 수행 end = interval[1] idx = bisect.bisect_left(start_points, (end,)) # 만약 이진 탐색 결과가 리스트 길이보다 작다면, 해당 인덱스의 시작점이 구간의 끝점보다 큽니다. if idx < n: result.append(start_points[idx][1]) else: result.append(-1) return result
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.