File tree 1 file changed +27
-0
lines changed
1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ *
3
+ * ์ ๊ทผ ๋ฐฉ๋ฒ :
4
+ * - ๋์ ์ต์ ๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ๋๊น DP๋ก ํ๊ธฐ
5
+ * - ์ฝ์ธ๋ง๋ค ์ํํ๋ฉด์ ๋์ ๊ฐ์ ์ต์๊ฐ ๊ตฌํ๊ธฐ
6
+ * - ๊ธฐ์กด๊ฐ๊ณผ ์ฝ์ธ์ ๋บ ๊ฐ + 1 ์ค ์์ ๊ฐ์ผ๋ก ์
๋ฐ์ดํธ
7
+ *
8
+ * ์๊ฐ๋ณต์ก๋ : O(n * m)
9
+ * - ์ฝ์ธ ๊ฐ์ n๋งํผ ์ํ
10
+ * - ๊ฐ ์ฝ์ธ๋ง๋ค amount ๊ฐ(m) ๋ ๋๊น์ง ์ํ
11
+ *
12
+ * ๊ณต๊ฐ๋ณต์ก๋ : O(m)
13
+ * - amount ๋งํผ dp ๋ฐฐ์ด ์์ฑ
14
+ *
15
+ */
16
+ function coinChange ( coins : number [ ] , amount : number ) : number {
17
+ const dp = Array ( amount + 1 ) . fill ( Number . MAX_VALUE ) ;
18
+ dp [ 0 ] = 0 ;
19
+
20
+ for ( const coin of coins ) {
21
+ for ( let i = coin ; i <= amount ; i ++ ) {
22
+ dp [ i ] = Math . min ( dp [ i ] , dp [ i - coin ] + 1 ) ;
23
+ }
24
+ }
25
+
26
+ return dp [ amount ] === Number . MAX_VALUE ? - 1 : dp [ amount ] ;
27
+ }
You canโt perform that action at this time.
0 commit comments