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] λ°±μ€€ 16400번 μ†Œμˆ˜ 화폐 - 파이썬(Python)
Algorithm/πŸ“˜ Baekjoon Judge

[BOJ] λ°±μ€€ 16400번 μ†Œμˆ˜ 화폐 - 파이썬(Python)

728x90

문제

μ†Œμˆ˜λ‚˜λΌλŠ” νŠΉμ΄ν•˜κ²Œ λͺ¨λ“  μ†Œμˆ˜(prime number)λ₯Ό 화폐 λ‹¨μœ„λ‘œ μ‚¬μš©ν•œλ‹€.

μ†Œμˆ˜λ‚˜λΌμ— λ†€λŸ¬ 온 ν•˜λ‚˜λŠ” 관광을 ν•˜λ‹€κ°€ 가격이 N인 물건을 λ°œκ²¬ν•˜κ³  λ„ˆλ¬΄ λ§ˆμŒμ— λ“€μ–΄ 999983원을 λ‚΄κ³  κ΅¬λ§€ν•˜λ €κ³  ν–ˆλ‹€. ν•˜μ§€λ§Œ 상점 주인이 κ±°μŠ€λ¦„λˆμ΄ μ—†μ–΄ μ •ν™•νžˆ N원을 μ§€λΆˆν•΄λ‹¬λΌκ³  ν•˜μ˜€λ‹€.

물건을 κ΅¬λ§€ν•˜λ €λ˜ ν•˜λ‚˜λŠ” μ†Œμˆ˜λ‚˜λΌμ˜ 화폐λ₯Ό μ΄μš©ν•˜μ—¬ N원을 μ •ν™•νžˆ λ§Œλ“€ 수 μžˆλŠ” λ°©λ²•μ˜ κ°€μ§“μˆ˜κ°€ μ–Όλ§ˆλ‚˜ λ˜λŠ”μ§€ κΆκΈˆν•΄μ‘Œλ‹€.

ν•˜λ‚˜λ₯Ό 도와 N원을 μ§€λΆˆν•˜κΈ° μœ„ν•œ κ°€μ§“μˆ˜κ°€ μ–Όλ§ˆλ‚˜ λ˜λŠ”μ§€ κ΅¬ν•΄λ³΄μž.

단, ν•˜λ‚˜λŠ” μ†Œμˆ˜λ‚˜λΌμ˜ λͺ¨λ“  화폐가 λ¬΄ν•œμ • μžˆλ‹€κ³  κ°€μ •ν•œλ‹€.

μž…λ ₯

κ΅¬λ§€ν•˜λ €κ³ ν•˜λŠ” 물건의 κ°’ N(2 ≤ N ≤ 40,000, N은 μ •μˆ˜)이 μ£Όμ–΄μ§„λ‹€.

좜λ ₯

μ†Œμˆ˜λ‚˜λΌμ˜ 화폐λ₯Ό μ΄μš©ν•˜μ—¬ μ§€λΆˆν•  수 μžˆλŠ” λ°©λ²•μ˜ 수λ₯Ό 좜λ ₯ν•œλ‹€.

단, μ§€λΆˆν•  수 μžˆλŠ” λ°©λ²•μ˜ μˆ˜κ°€ 맀우 ν¬κΈ°λ•Œλ¬Έμ—, 123,456,789둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€ 값을 좜λ ₯ν•œλ‹€.

 

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

 

16400번: μ†Œμˆ˜ 화폐

κ΅¬λ§€ν•˜λ €κ³ ν•˜λŠ” 물건의 κ°’ N(2 ≤ N ≤ 40,000, N은 μ •μˆ˜)이 μ£Όμ–΄μ§„λ‹€.

www.acmicpc.net

 

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

import math

def is_prime(num):
    for i in range(2, int(math.sqrt(num))+1):
        if num % i == 0:
            return False
    return True

n = int(input())
prime = []

for i in range(2, n+1):
    if is_prime(i):
        prime.append(i)

dp = [0 for _ in range(n+1)]
dp[0] = 1
for p in prime:
    for i in range(p, n+1):
        dp[i] = (dp[i] + dp[i-p]) % 123456789
            
print(dp[n])

λ°±μ€€ 2293번 λ¬Έμ œμ™€ λΉ„μŠ·ν•œ μœ ν˜•μ˜ DP λ¬Έμ œμ΄λ‹€. 아이디어가 ν—·κ°ˆλ¦°λ‹€λ©΄ μ•„λž˜ κ²Œμ‹œλ¬Όμ„ μ°Έκ³ ν•˜μž.

( μ°Έκ³ : https://zu-techlog.tistory.com/48?category=948141 )

 

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

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

zu-techlog.tistory.com

μž…λ ₯받은 수 n보닀 μž‘μ€ μ†Œμˆ˜ 집합을 κ΅¬ν•˜λŠ” κ³Όμ •μ—μ„œ μ‹€ν–‰ μ‹œκ°„ λ‹¨μΆ•ν•˜λŠ” 것이 κ΄€κ±΄μ΄μ—ˆλ‹€. 기쑴의 λ°©μ‹μœΌλ‘œ is_prime ν•¨μˆ˜μ—μ„œ μ†Œμˆ˜λ₯Ό νŒλ³„ν•  λ•Œ λ°˜λ³΅λ¬Έμ„ 2λΆ€ν„° νŒλ³„ν•  수(num)κΉŒμ§€ λŒμ•„κ°€κ²Œ ν•œλ‹€λ©΄ μ‹œκ°„λ³΅μž‘λ„κ°€ O(n^2)κ°€ λ˜μ–΄ μ‹œκ°„μ΄ˆκ³Όκ°€ λ‚œλ‹€. λ”°λΌμ„œ, is_prime ν•¨μˆ˜ λ‚΄μ—μ„œ λ°˜λ³΅λ¬Έμ„ μ•½μˆ˜μ˜ νŠΉμ„±μ„ λ°˜μ˜ν•΄ numκΉŒμ§€κ°€ μ•„λ‹Œ num의 제곱근 κ°’κΉŒμ§€λ§Œ 돌렀 μ†Œμˆ˜λ₯Ό νŒλ³„ν–ˆλ‹€. 이둜써 μ‹œκ°„μ΄ˆκ³Ό λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆλ‹€. ν•˜μ§€λ§Œ μ•„μ‰½κ²Œλ„ λ°±μ€€ μ •λ‹΅ 제좜 μ‹œ μ–Έμ–΄λ₯Ό Python3둜 μ„€μ •ν•˜λ©΄ μ—¬μ „νžˆ μ‹œκ°„μ΄ˆκ³Όκ°€ λ°œμƒν–ˆλ‹€. PyPy3둜 μ œμΆœν•΄μ•Όλ§Œ μ •λ‹΅μœΌλ‘œ μΈμ •λ˜μ—ˆλ‹€. 아직 Python3둜 톡과할 수 μžˆλŠ” 방법은 μ°Ύμ§€ λͺ»ν–ˆμœΌλ©°, 파이썬으둜 문제λ₯Ό 맞좘 λ‹€λ₯Έ μ΄μš©μžλ“€λ„ λͺ¨λ‘ PyPy3둜만 μ œμΆœν•œ κ²ƒμœΌλ‘œ 보아 ν•΄λ‹Ή μ•Œκ³ λ¦¬μ¦˜μ΄ μ΅œμ„ μΈ 것 κ°™λ‹€.

728x90

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

[BOJ] λ°±μ€€ 14503번 λ‘œλ΄‡ μ²­μ†ŒκΈ° - 파이썬(Python)  (1) 2022.01.07
[BOJ] λ°±μ€€ 17609번 회문 - 파이썬(Python)  (0) 2021.12.31
[BOJ] λ°±μ€€ 2293번 동전1 - 파이썬(Python)  (0) 2021.12.31
[BOJ] λ°±μ€€ 3107번 IPv6 - 파이썬(Python)  (0) 2021.12.29
[BOJ] λ°±μ€€ 7562번 λ‚˜μ΄νŠΈμ˜ 이동 - 파이썬(Python)  (0) 2021.12.29
    'Algorithm/πŸ“˜ Baekjoon Judge' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ 글이닀
    • [BOJ] λ°±μ€€ 14503번 λ‘œλ΄‡ μ²­μ†ŒκΈ° - 파이썬(Python)
    • [BOJ] λ°±μ€€ 17609번 회문 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 2293번 동전1 - 파이썬(Python)
    • [BOJ] λ°±μ€€ 3107번 IPv6 - 파이썬(Python)
    J1Yun
    J1Yun
    개발 κ΄€λ ¨ 기술 및 곡뢀 λ‚΄μš© 기둝μž₯

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