File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change 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+ }
You canโt perform that action at this time.
0 commit comments