우주에서 글을 적어본다
99클럽 코테 스터디 30일차 TIL + 이분 탐색 본문
[오늘의 학습 키워드 및 문제]
- 리트코드의 "Find Right Interval" 문제를 풀었다.
- 오늘 주제는 이분 탐색이다. 으아앙
[나의 코드]
from bisect import bisect_left
class Solution:
def findRightInterval(self, intervals: List[List[int]]) -> List[int]:
temp = sorted((interval[0], i) for i, interval in enumerate(intervals))
result = []
for interval in intervals:
end = interval[1]
idx = bisect_left(temp, (end,))
if idx < len(temp):
result.append(temp[idx][1])
else:
result.append(-1)
return result
코드 짜기가 귀찮아서 그냥 bisect 라이브러리를 공부해서 이걸로 풀었다.
누가 temp 대신 쓸 만한 변수 이름을 알려주십쇼.
일단 intervals 배열의 start를 기준으로 정렬해야 한다는 것을 금방 알 수 있다.
그리고 인덱스를 반환해야 하기 때문에 enumerate로 인덱스도 같이 저장해서 정렬한다.
그리고 end를 기준으로 이분 탐색을 한다.
반환된 인덱스가 temp의 길이보다 작다면 result에 결과를 넣고,
아니라면 -1을 넣는다.
[오늘의 회고]
- 어제랑 문제가 비슷한 것은 기분 탓인가?
- 너무 졸려워잉.
- 점점 TIL이 대충대충 써지고 있다 ㅋㅋㅋㅋㅋㅋㅋ 끝!
'항해99 TIL' 카테고리의 다른 글
99클럽 코테 스터디 32일차 TIL + BFS (0) | 2024.08.22 |
---|---|
99클럽 코테 스터디 31일차 TIL + DFS (0) | 2024.08.21 |
99클럽 코테 스터디 29일차 TIL + 이분 탐색 (0) | 2024.08.19 |
99클럽 코테 스터디 28일차 TIL + 스택/큐 (0) | 2024.08.18 |
99클럽 코테 스터디 27일차 TIL + 시뮬레이션 (0) | 2024.08.17 |