Skip to content

Commit ba15601

Browse files
committed
add Meeting Rooms solution
1 parent d60724c commit ba15601

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

meeting-rooms/HoonDongKang.ts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/**
2+
* [Problem]: [920] Meeting Rooms
3+
* (https://www.lintcode.com/problem/920/)
4+
*/
5+
6+
export class Interval {
7+
start: number;
8+
end: number;
9+
constructor(start: number, end: number) {
10+
this.start = start;
11+
this.end = end;
12+
}
13+
}
14+
15+
export class Solution {
16+
/**
17+
* @param intervals: an array of meeting time intervals
18+
* @return: if a person could attend all meetings
19+
*/
20+
canAttendMeetings(intervals: Interval[]): boolean {
21+
//시간복잡도 O(n^2)
22+
//공간복잡도 O(1)
23+
function bruteForceFunc(intervals: Interval[]): boolean {
24+
for (let i = 0; i < intervals.length; i++) {
25+
for (let j = i + 1; j < intervals.length; j++) {
26+
const first = intervals[i];
27+
const second = intervals[j];
28+
if (first.start < second.end && second.start < first.end) {
29+
return false;
30+
}
31+
}
32+
}
33+
34+
return true;
35+
}
36+
37+
//시간복잡도 O(nlogn)
38+
//공간복잡도 O(1)
39+
function sortedFunc(intervals: Interval[]): boolean {
40+
intervals.sort((a, b) => a.start - b.start);
41+
42+
for (let i = 0; i < intervals.length - 1; i++) {
43+
if (intervals[i].end > intervals[i + 1].start) {
44+
return false;
45+
}
46+
}
47+
48+
return true;
49+
}
50+
}
51+
}

0 commit comments

Comments
 (0)