Skip to content

Commit 9b45bea

Browse files
committed
add solution : 268. Missing Number
1 parent 03ded85 commit 9b45bea

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

โ€Žmissing-number/mmyeon.tsโ€Ž

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
*
3+
* ์ ‘๊ทผ ๋ฐฉ๋ฒ• :
4+
* - ์—ฐ์†๋˜๋Š” ์ˆซ์ž ์ค‘ ๋น ์ง„ ์ˆซ์ž ์ฐพ๋Š” ๊ฑฐ๋‹ˆ๊นŒ ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•˜์ž.
5+
* - ๋ฐฐ์—ด ์š”์†Œ ์ˆœํšŒํ•˜๋ฉด์„œ map์— ์š”์†Œ๋ฅผ ํ‚ค๋กœ ๋„ฃ๊ณ , nums ๊ธธ์ด๋งŒํผ ์ˆœํšŒํ•˜๋ฉด์„œ map์— ๊ฐ’ ์žˆ๋Š”์ง€ ์ฒดํฌ
6+
* - ์—†์œผ๋ฉด ํ•ด๋‹น ์ธ๋ฑ์Šค ๋ฆฌํ„ดํ•˜๊ณ , ์ˆœํšŒ ๋๋‚˜๋ฉด nums ๊ธธ์ด ๋ฆฌํ„ด
7+
*
8+
* ์‹œ๊ฐ„๋ณต์žก๋„ : O(n)
9+
* - nums ๊ธธ์ด๋งŒํผ map์— ์š”์†Œ ๋„ฃ๊ณ , map์— ์š”์†Œ ์žˆ๋Š”์ง€ ์ฒดํฌํ•˜๋‹ˆ๊นŒ O(n)
10+
*
11+
* ๊ณต๊ฐ„๋ณต์žก๋„ : O(n)
12+
* - map์— nums ๊ธธ์ด๋งŒํผ ์ €์žฅํ•˜๋‹ˆ๊นŒ O(n)
13+
*/
14+
15+
function missingNumber(nums: number[]): number {
16+
const map = new Map();
17+
nums.forEach((num) => map.set(num, 1));
18+
19+
for (let i = 0; i < nums.length; i++) {
20+
if (!map.has(i)) return i;
21+
}
22+
23+
return nums.length;
24+
}
25+
26+
// ๊ณต๊ฐ„๋ณต์žก๋„ O(1) ๊ฐœ์„  ๋ฐฉ๋ฒ•
27+
// - 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ํ•ฉ ๊ตฌํ•˜๊ณ , ์‹ค์ œ nums ์š”์†Œ ๊ฐ’ ๋นผ์„œ ๋น ์ง„ ์ˆซ์ž ๊ตฌํ•จ
28+
function missingNumber(nums: number[]): number {
29+
let sum = 0;
30+
31+
for (let i = 0; i <= nums.length; i++) {
32+
sum += i;
33+
}
34+
35+
for (let i = 0; i < nums.length; i++) {
36+
sum -= nums[i];
37+
}
38+
39+
return sum;
40+
}

0 commit comments

Comments
ย (0)