문제 링크: https://neetcode.io/problems/meeting-schedule
NeetCode
neetcode.io
[내 풀이]
"""
Definition of Interval:
class Interval(object):
def __init__(self, start, end):
self.start = start
self.end = end
"""
class Solution:
def canAttendMeetings(self, intervals: List[Interval]) -> bool:
intervals.sort(key=lambda x: x.start)
for i in range(len(intervals) - 1):
current = intervals[i]
now = intervals[i + 1]
if current.end > now.start:
return False
return True
intervals 리스트 개수가 500개까지라서 가능한 풀이 같다.
사실 for를 안쓰고 싶었는데 어떻게... 풀 방법이 없더라.
근데 다 풀고 솔루션을 봤는데 나랑 풀이가 똑같아서 안심했다ㅋㅋㅋㅋ
다른점이 있다면 인덱스를 (1, len(intervals))로 두고, i + 1대신 i - 1을 썼다는 점이다. (즉, 이후 값이 아니라 이전 값을 현재 인덱스 값과 비교함)
시간 복잡도
O(n)
n은 리스트의 길이
'Algorithm > NeetCode' 카테고리의 다른 글
[NeetCode/Python] Buy and Sell Crypto (0) | 2024.09.19 |
---|---|
[NeetCode/Python] Min Cost Climbing Stairs (0) | 2024.09.19 |
[NeetCode/Python] Kth Largest Integer in a Stream (0) | 2024.09.03 |
[NeetCode/Python] Two Integer Sum (0) | 2024.08.31 |
[NeetCode/Python] Plus One (2) | 2024.08.30 |