[백준] 2294 동전 2 Python (DP문제)

2022. 11. 12. 12:36·Algorithm (PS)
728x90

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

 

2294번: 동전 2

첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주

www.acmicpc.net

크게 두가지 경우로 생각하여 풀었다 ~

INF = int(1e9)
dp = [INF]*(k+1)

우선 dp를 최대값으로 초기화 시켜준다! 사용하는 동전의 최소개수를 찾기 위해 계속 for문을 돌면서 갱신해줄 예정이므로 int(1e9) 값으로 초기화 해주었다. 

i) 동전과 현재 검사중인 금액 money 가 같으면 , 동전 하나로 해당 금액을 만들 수 있으므로 dp[money] = 1

if coin == money:
    dp[money] = 1

ii) 동전 단위가 우선 money 보다 작은지 확인한다 


기존의 dp[money] 에 저장되어 있는 동전 개수와 현재 동전을 선택하는 경우 동전개수를 비교하여 더 작은 값을 dp[money]에 저장한다 

dp[money] = min(dp[money-coin]+1, dp[money])
# 2294 동전 2
n, k = map(int, input().split())
coins = []
for _ in range(n):
    c = int(input())
    if c not in coins:
        coins.append(c)

INF = int(1e9)
dp = [INF]*(k+1)

for money in range(1, k+1):
    for coin in coins:
        if coin == money:
            dp[money] = 1
        elif coin < money:
            dp[money] = min(dp[money-coin]+1, dp[money])
if dp[k] == INF:
    print(-1)
else:
    print(dp[k])

dp...문제 그래도 이건 풀었다 ㅎㅎ

728x90

'Algorithm (PS)' 카테고리의 다른 글

[백준] 15724 주지수 python 풀이  (0) 2022.11.18
22856 트리 순회 python 풀이  (0) 2022.11.16
[프로그래머스] 행렬 테두리 회전하기 Python  (0) 2022.11.11
[백준] 15787 기차가 어둠을 헤치고 은하수를 Python  (0) 2022.11.11
[백준] 21278번 호석이 두 마리 치킨 Python (BFS풀이, 플로이드워셜)  (0) 2022.11.09
'Algorithm (PS)' 카테고리의 다른 글
  • [백준] 15724 주지수 python 풀이
  • 22856 트리 순회 python 풀이
  • [프로그래머스] 행렬 테두리 회전하기 Python
  • [백준] 15787 기차가 어둠을 헤치고 은하수를 Python
minjiwoo
minjiwoo
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
minjiwoo
minji's engineering note
minjiwoo
전체
오늘
어제
  • 분류 전체보기 (613)
    • Data Engineering (42)
      • Apache Spark (11)
      • Databricks & Delta Lake (9)
      • Airflow (3)
      • SQL (6)
      • Trouble Shooting (2)
      • Hadoop (2)
      • MLOps (1)
    • Cloud Engineering (104)
      • AWS (23)
      • Linux 🐧 (29)
      • Docker 🐳 (21)
      • Kubernetes ⚙️ (20)
      • Ansible (10)
    • Computer Science (87)
      • 네트워크 (9)
      • 운영체제 (25)
      • 정보처리기사 (48)
      • CS 기술 면접 스터디 (3)
    • Programming Languages (27)
      • Python (17)
      • C와 C++ (10)
    • Backend (5)
      • Django (2)
    • 프로젝트 (2)
      • 테크포임팩트 (2)
    • iOS (11)
      • 레이블러리 (2)
    • Algorithm (PS) (275)
      • LeetCode (6)
    • 개발일기 (30)
      • 내돈내산 후기🎮 (3)
      • 개발자 취준생 (5)
      • Today I Learned (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Hi there

인기 글

태그

  • 쿠버네티스
  • 스파크
  • Kubernetes
  • 데이터엔지니어
  • Swift
  • dfs
  • Leetcode
  • 데이터엔지니어링
  • dp
  • ansible
  • 파이썬
  • EC2
  • 데이터브릭스
  • BFS
  • 빅데이터
  • python
  • 백준
  • 백트래킹
  • 알고리즘
  • linux
  • SPARK
  • AWS
  • docker
  • Databricks
  • 프로그래머스
  • 클라우드
  • 카카오코딩테스트
  • 운영체제
  • 코딩테스트
  • 리눅스

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
minjiwoo
[백준] 2294 동전 2 Python (DP문제)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.