File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
Expand file tree Collapse file tree 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