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