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