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] λ°±μ€€ 2294번 동전 2 - 파이썬(Python)
Algorithm/πŸ“˜ Baekjoon Judge

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

728x90

문제

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

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

μž…λ ₯

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

좜λ ₯

첫째 쀄에 μ‚¬μš©ν•œ λ™μ „μ˜ μ΅œμ†Œ 개수λ₯Ό 좜λ ₯ν•œλ‹€. λΆˆκ°€λŠ₯ν•œ κ²½μš°μ—λŠ” -1을 좜λ ₯ν•œλ‹€.

 

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

 

2294번: 동전 2

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

www.acmicpc.net

 

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

n, k = map(int, input().split())
coins = set()
for _ in range(n):
    coins.add(int(input()))

dp = [1e9] * (k+1)
for c in coins:
    if c <= k:
        dp[c] = 1
for i in range(2, k+1):
    for c in coins:
        idx = i - c
        if idx > 0 and dp[idx] > 0:
            dp[i] = min(dp[i], dp[idx] + 1)

if dp[k] == 1e9:
    print(-1)
else:
    print(dp[k])

λŒ€ν‘œμ μΈ DP 문제 μ€‘μ—μ„œλ„ κ°€μž₯ 기본적인 동전 λ¬Έμ œμ΄λ‹€. λ‹€λ§Œ, λŸ°νƒ€μž„ μ—λŸ¬(인덱슀 μ—λŸ¬)λ₯Ό μ£Όμ˜ν•΄μ•Ό ν•œλ‹€. k의 λ²”μœ„λŠ” 1 ≤ k ≤ 10,000이고, 동전 κ°€μΉ˜λŠ” 100,000보닀 μž‘μ€ λ²”μœ„λ₯Ό κ°–λŠ”λ‹€. 즉, μ£Όμ›Œμ§€λŠ” λ™μ „μ˜ κ°€μΉ˜κ°€ λ§Œλ“€μ–΄μ•Ό ν•˜λŠ” κΈˆμ•‘ 보닀 큰 κ²½μš°κ°€ λ°œμƒν•  수 있기 λ•Œλ¬Έμ— 이에 λŒ€ν•œ 처리λ₯Ό 잘 ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€. 

728x90

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

[BOJ] λ°±μ€€ 15685번 λ“œλž˜κ³€ 컀브 - 파이썬(Python)  (0) 2022.08.23
[BOJ] λ°±μ€€ 2133번 타일 μ±„μš°κΈ° - 파이썬(Python)  (0) 2022.08.18
[BOJ] λ°±μ€€ 1890번 점프 - 파이썬(Python)  (0) 2022.08.13
[BOJ] λ°±μ€€ 16236번 μ•„κΈ° 상어 - 파이썬(Python)  (0) 2022.07.30
[BOJ] λ°±μ€€ 2206번 λ²½ λΆ€μˆ˜κ³  μ΄λ™ν•˜κΈ° - 파이썬(Python)  (0) 2022.07.27
    'Algorithm/πŸ“˜ Baekjoon Judge' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ 글이닀
    • [BOJ] λ°±μ€€ 15685번 λ“œλž˜κ³€ 컀브 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 2133번 타일 μ±„μš°κΈ° - 파이썬(Python)
    • [BOJ] λ°±μ€€ 1890번 점프 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 16236번 μ•„κΈ° 상어 - 파이썬(Python)
    J1Yun
    J1Yun
    개발 κ΄€λ ¨ 기술 및 곡뢀 λ‚΄μš© 기둝μž₯

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