์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป PS/PYTHON

[ํŒŒ์ด์ฌ PYTHON ยท ์ž๋ฐ” JAVA] LeetCodeใ€Coin Changeใ€‘

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป PS/PYTHON

[ํŒŒ์ด์ฌ PYTHON ยท ์ž๋ฐ” JAVA] LeetCodeใ€Coin Changeใ€‘

2023. 3. 21. 11:16

 

 

Coin Change - LeetCode

Can you solve this real interview question? Coin Change - You are given an integer array coins representing coins of different denominations and an integer amount representing a total amount of money. Return the fewest number of coins that you need to make

leetcode.com


์ž๋ฐ” ์ฝ”๋“œ

import java.util.*;
class Solution {
    public int coinChange(int[] coins, int amount) {
        long[] dp = new long[amount+1];
        dp[0]=0;

        for(int i=1;i<=amount;i++){
            dp[i] = Integer.MAX_VALUE;
            for(int coin : coins){
                if(i-coin<0){
                    continue;
                }
                dp[i]= Math.min(dp[i],dp[i-coin]+1);
            }
        }
        System.out.println(Arrays.toString(dp));
        if(dp[amount]!=Integer.MAX_VALUE){
            return (int)(dp[amount]);
        }else{
            return -1;
        }
    }
}

ํŒŒ์ด์ฌ ์ฝ”๋“œ

class Solution(object):
    def coinChange(self, coins, amount):

        dp =[0]

        for i in range(1,amount+1):
            dp.append(1e9)
            for coin in coins:
                if i-coin<0:
                    continue
                dp[i]=min(dp[i-coin]+1,dp[i])

        ans = dp[amount] if dp[amount] !=1e9 else -1
        
        return ans

 

๊ฐ–๊ณ  ์žˆ๋Š” ๋™์ „์œผ๋กœ i-coin ๊ณ„์‚ฐ์„ ๋‹ค ํ•ด๋ณธ๋‹ค.

 

dp[i-coin] ๊ฐ’์ด 1e9๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ฐ–๊ณ  ์žˆ๋Š” ๋™์ „์œผ๋กœ ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ dp[i-coin]+1 ํ•œ๊ฐ’์„ dp[i]์— ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. (์ตœ์†Ÿ๊ฐ’์œผ๋กœ)

 

๋งŒ์•ฝ, i-coin<0 ์ด๋ฉด ์œ„ ๊ณผ์ •์„ ๋ฌด์‹œํ•œ๋‹ค.


 




์œ„ ๊ณผ์ •์„ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๊ณ , dp[amount]๊ฐ€ 1e9๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ๋‹ต ์ถœ๋ ฅ

    '๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป PS/PYTHON' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํŒŒ์ด์ฌ PYTHON ยท ์ž๋ฐ” JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ใ€๊ตฌ๋ช…๋ณดํŠธใ€‘
    • [ํŒŒ์ด์ฌ PYTHON ยท ์ž๋ฐ” JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ใ€์ˆซ์ž์˜ ํ‘œํ˜„ใ€‘
    • [ํŒŒ์ด์ฌ PYTHON ยท ์ž๋ฐ” JAVA] LeetCodeใ€Container With Most Waterใ€‘
    • [ํŒŒ์ด์ฌ PYTHON ยท ์ž๋ฐ” JAVA] LeetCodeใ€3Sumใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

    ๋‹จ์ถ•ํ‚ค

    ๋‚ด ๋ธ”๋กœ๊ทธ

    ๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
    Q
    Q
    ์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
    W
    W

    ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

    ๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
    E
    E
    ๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
    C
    C

    ๋ชจ๋“  ์˜์—ญ

    ์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
    S
    S
    ๋งจ ์œ„๋กœ ์ด๋™
    T
    T
    ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
    H
    H
    ๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
    Shift + /
    โ‡ง + /

    * ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.