Skip to content

Commit 971ac7d

Browse files
committed
add solution : Meeting Rooms II
1 parent 2910883 commit 971ac7d

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

โ€Žmeeting-rooms-ii/mmyeon.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* ์ ‘๊ทผ ๋ฐฉ๋ฒ• :
3+
* - ์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ๊ฐ๊ฐ ๋ฐฐ์—ด๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค์Œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.
4+
* - ์‹œ์ž‘ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋น ๋ฅธ ์ข…๋ฃŒ ์‹œ๊ฐ„๋ณด๋‹ค ๋น ๋ฅด๋‹ค๋ฉด ๋‹ค๋ฅธ ํšŒ์˜๋ฃธ ํ•„์š”ํ•˜๋‹ˆ๊นŒ ์นด์šดํŠธ ์ฆ๊ฐ€ํ•œ๋‹ค.
5+
* - ์‹œ์ž‘ ์‹œ๊ฐ„์ด ์ข…๋ฃŒ ์‹œ๊ฐ„๋ณด๋‹ค ๋А๋ฆฌ๋ฉด ํšŒ์˜๋ฃธ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์ข…๋ฃŒ์‹œ๊ฐ„ ์ธ๋ฑ์Šค ์ฆ๊ฐ€ํ•œ๋‹ค.
6+
*
7+
* ์‹œ๊ฐ„๋ณต์žก๋„ : O(nlogn)
8+
* - n = intervals์˜ ๊ธธ์ด, ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
9+
*
10+
* ๊ณต๊ฐ„๋ณต์žก๋„ : O(n)
11+
* - ์ธํ„ฐ๋ฒŒ ๊ธธ์ด๋งŒํผ ๋ฐฐ์—ด ํ•„์š”
12+
*/
13+
14+
function minMeetingRooms(intervals: number[][]): number {
15+
const starts = intervals.map((interval) => interval[0]).sort((a, b) => a - b);
16+
const ends = intervals.map((interval) => interval[1]).sort((a, b) => a - b);
17+
18+
let roomCount = 0;
19+
let endIndex = 0;
20+
21+
for (let i = 0; i < starts.length; i++) {
22+
if (starts[i] < ends[endIndex]) roomCount++;
23+
else endIndex++;
24+
}
25+
26+
return roomCount;
27+
}

0 commit comments

Comments
ย (0)