J1Yun
ZU-TECHLOG
J1Yun
전체 방문자
였늘
μ–΄μ œ
  • πŸ“‘ Category (135)
    • Algorithm (61)
      • πŸ“š Concept (6)
      • πŸ“˜ Baekjoon Judge (53)
      • πŸ“— Programmers (2)
    • Computer Science (42)
      • πŸ”’ Operating System (14)
      • πŸ“‘ Network (15)
      • πŸ’Ύ Database (8)
      • 🧩 Design Pattern (4)
      • πŸ”‘ Security (1)
    • Activities (12)
      • 🦁 λ©‹μŸμ΄μ‚¬μžμ²˜λŸΌ 9κΈ° (6)
      • πŸ’» SWλ§ˆμ—μŠ€νŠΈλ‘œ 13κΈ° (6)
    • Infra (1)
      • ☁️ AWS (1)
    • Languages (1)
      • πŸ’™ Python (1)
    • Backend (7)
      • πŸ”΅ Django (4)
      • 🟒 Node.js (3)
    • Ect. (8)
      • πŸ’¬ Talk (0)
      • πŸ—‚οΈ 개발직ꡰ μ·¨μ—… μ€€λΉ„μžλ£Œ (8)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

250x250
hELLO Β· Designed By μ •μƒμš°.
J1Yun

ZU-TECHLOG

[BOJ] λ°±μ€€ 2293번 동전1 - 파이썬(Python)
Algorithm/πŸ“˜ Baekjoon Judge

[BOJ] λ°±μ€€ 2293번 동전1 - 파이썬(Python)

728x90

문제

nκ°€μ§€ μ’…λ₯˜μ˜ 동전이 μžˆλ‹€. 각각의 동전이 λ‚˜νƒ€λ‚΄λŠ” κ°€μΉ˜λŠ” λ‹€λ₯΄λ‹€. 이 동전을 μ λ‹Ήνžˆ μ‚¬μš©ν•΄μ„œ, κ·Έ κ°€μΉ˜μ˜ 합이 k원이 λ˜λ„λ‘ ν•˜κ³  μ‹Άλ‹€. κ·Έ 경우의 수λ₯Ό κ΅¬ν•˜μ‹œμ˜€. 각각의 동전은 λͺ‡ κ°œλΌλ„ μ‚¬μš©ν•  수 μžˆλ‹€.

μ‚¬μš©ν•œ λ™μ „μ˜ ꡬ성이 같은데, μˆœμ„œλ§Œ λ‹€λ₯Έ 것은 같은 κ²½μš°μ΄λ‹€.

μž…λ ₯

첫째 쀄에 n, kκ°€ μ£Όμ–΄μ§„λ‹€. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) λ‹€μŒ n개의 μ€„μ—λŠ” 각각의 λ™μ „μ˜ κ°€μΉ˜κ°€ μ£Όμ–΄μ§„λ‹€. λ™μ „μ˜ κ°€μΉ˜λŠ” 100,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€.

좜λ ₯

첫째 쀄에 경우의 수λ₯Ό 좜λ ₯ν•œλ‹€. 경우의 μˆ˜λŠ” 231보닀 μž‘λ‹€.

 

https://www.acmicpc.net/problem/2293

 

2293번: 동전 1

첫째 쀄에 n, kκ°€ μ£Όμ–΄μ§„λ‹€. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) λ‹€μŒ n개의 μ€„μ—λŠ” 각각의 λ™μ „μ˜ κ°€μΉ˜κ°€ μ£Όμ–΄μ§„λ‹€. λ™μ „μ˜ κ°€μΉ˜λŠ” 100,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€.

www.acmicpc.net

 

πŸ’‘ 풀이 및 μ½”λ“œ

n, k = map(int, input().split())
coin = []
for _ in range(n):
    coin.append(int(input()))
dp = [0 for _ in range(k+1)]

dp[0] = 1
for c in coin:
    for i in range(k+1):
        if i - c >= 0:
            dp[i] += dp[i-c]

print(dp[k])

처음 μ ‘ν•œ DP 문제의 μœ ν˜•μ΄μ—ˆλ‹€.

1, 2, 5λΌλŠ” λ™μ „μ˜ κ°€μΉ˜κ°€ λ‹΄κΈ΄ coin λ¦¬μŠ€νŠΈμ— λŒ€ν•œ λ°˜λ³΅λ¬Έμ€ 동전을 1μ›λ§Œ μ‚¬μš©ν–ˆμ„ λ•Œ, 2원을 μΆ”κ°€ν•˜μ—¬ 1원과 2원을 μ‚¬μš©ν–ˆμ„ λ•Œ, 5원을 μΆ”κ°€ν•˜μ—¬ 1원, 2원, 5원을 μ‚¬μš©ν–ˆμ„ λ•Œλ₯Ό μ˜λ―Έν•œλ‹€. dp[i]λŠ” iλΌλŠ” 수λ₯Ό λ§Œλ“€ 수 μžˆλŠ” 경우의 수λ₯Ό μ˜λ―Έν•œλ‹€. μ΄λ•Œ, μΆ”κ°€λ˜λŠ” 동전(c)에 따라 dp[i]λŠ” iκ°€ c보닀 ν¬λ‹€λŠ” κ°€μ • ν•˜μ— i-c의 경우의 수(dp[i-c])λ₯Ό λˆ„μ ν•΄ μ£Όλ©΄λœλ‹€. i-c을 λ§Œλ“€\κΈ° μœ„ν•œ λ™μ „μ˜ 쑰합듀에 cλ₯Ό 더해주면 iκ°€ 되기 λ•Œλ¬Έμ΄λ‹€. λ”°λΌμ„œ, 점화식은 dp[i] = dp[i] + dp[i-c] 이닀. 

μ•„λž˜μ˜ 경우의 수λ₯Ό λ‚˜νƒ€λ‚Έ ν‘œλ₯Ό 보면 이해가 μ‰¬μšΈ 것이닀.

728x90

'Algorithm > πŸ“˜ Baekjoon Judge' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[BOJ] λ°±μ€€ 17609번 회문 - 파이썬(Python)  (0) 2021.12.31
[BOJ] λ°±μ€€ 16400번 μ†Œμˆ˜ 화폐 - 파이썬(Python)  (0) 2021.12.31
[BOJ] λ°±μ€€ 3107번 IPv6 - 파이썬(Python)  (0) 2021.12.29
[BOJ] λ°±μ€€ 7562번 λ‚˜μ΄νŠΈμ˜ 이동 - 파이썬(Python)  (0) 2021.12.29
[BOJ] λ°±μ€€ 9465번 μŠ€ν‹°μ»€ - 파이썬(Python)  (0) 2021.11.24
    'Algorithm/πŸ“˜ Baekjoon Judge' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ 글이닀
    • [BOJ] λ°±μ€€ 17609번 회문 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 16400번 μ†Œμˆ˜ 화폐 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 3107번 IPv6 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 7562번 λ‚˜μ΄νŠΈμ˜ 이동 - 파이썬(Python)
    J1Yun
    J1Yun
    개발 κ΄€λ ¨ 기술 및 곡뢀 λ‚΄μš© 기둝μž₯

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”