Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions meeting-rooms/reeseo3o.js
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Sorting
  • 설명: 이 코드는 회의 시간 구간을 정렬한 후 겹치는지 검사하는 방식으로, 정렬이 핵심 패턴입니다. 하지만 제공된 패턴 목록에는 'Sorting'이 포함되어 있지 않으므로 빈 배열로 간주됩니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(n log n)
Space O(1)

피드백: 입력 배열을 정렬하는 데 O(n log n)의 시간 복잡도가 소요되며, 이후 인접 구간을 한 번만 검사하므로 전체 시간은 O(n log n)입니다. 정렬은 제자리 정렬이 아니더라도, 공간 복잡도는 추가 공간 없이 정렬 가능하다고 가정하면 O(1)입니다.

개선 제안: 현재 구현이 적절해 보입니다.

💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!

Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Time Complexity: O(nlogn)
// Space Complexity: O(1)

const canAttendMeetings = function (intervals) {
if (!intervals || intervals.length <= 1) {
return true;
}

intervals.sort((a, b) => a[0] - b[0]);

for (let i = 1; i < intervals.length; i++) {
const prevEnd = intervals[i - 1][1];
const currStart = intervals[i][0];

if (currStart < prevEnd) {
return false;
}
}

return true;
};
Loading