freeParksey
밥세공기
freeParksey
전체 방문자
오늘
어제
  • 분류 전체보기 (150)
    • JAVA (32)
      • 자바스터디 (21)
      • Java in action (6)
      • OOP (1)
      • test (2)
    • 알고리즘 문제 (51)
      • 백준 (49)
    • C (Atmega128) (7)
    • 인공지능 (11)
    • 운영체제 (8)
    • 디자인패턴 (5)
    • 잡다한것 (2)
    • 사용기 (3)
      • 도커 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Thread #JVM #자바스터디 #
  • java
  • 프리코스
  • 3주차
  • 우아한테크코스
  • 운영체제
  • generic
  • 상속
  • 후기
  • 그리드
  • Collection
  • Python
  • 백준
  • 백트래킹
  • 알고리즘
  • 스트림
  • Iterator
  • 동작 파라미터화
  • 자바
  • 우테코
  • 자바스터디
  • Thread 동작
  • 딥러닝
  • 백트랙킹
  • 집합과 맵
  • dto 변환 위치
  • 동적계획법
  • 재귀기초
  • dto 변환
  • 분류

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
freeParksey

밥세공기

알고리즘 문제/백준

알고리즘 - 11047 (동전 0)

2022. 10. 1. 20:40

문제

준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.

동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)

둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

출력

첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.

예제 입력 1 복사

10 4200
1
5
10
50
100
500
1000
5000
10000
50000

예제 출력 1 복사

6

예제 입력 2 복사

10 4790
1
5
10
50
100
500
1000
5000
10000
50000

예제 출력 2 복사

12

 

문제 요약

N개의 종류를 사용하여 K값을 만들기 위한 최소 값

 

접근 방식

 

1. 정렬 : 입력 값이 순서대로 들어오지는 않기 때문에 

2. 큰 수부터 나눠 처리

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
N, K = map(int, input().split())
data = []
index = 0
for i in range(N):
    data.append(int(input()))
    if data[i] <= K:
        index = i
 
result = 0
for d in data[index::-1]:
    if K == 0:
        break
    temp = K//d
    if temp == 0:
        continue
    
    result += temp
    K -= temp * d
print(result)
 

'알고리즘 문제 > 백준' 카테고리의 다른 글

알고리즘 - 11399 ATM  (0) 2022.10.02
알고리즘 - 1931 회의실  (0) 2022.10.02
알고리즘 - 동적계획법 (12865 평범한 배낭)  (0) 2022.09.12
알고리즘 - 동적계획법 (9251 LCS)  (0) 2022.09.12
알고리즘 - 동적계획법 (2565 전깃줄)  (0) 2022.09.12
    '알고리즘 문제/백준' 카테고리의 다른 글
    • 알고리즘 - 11399 ATM
    • 알고리즘 - 1931 회의실
    • 알고리즘 - 동적계획법 (12865 평범한 배낭)
    • 알고리즘 - 동적계획법 (9251 LCS)
    freeParksey
    freeParksey
    Github: https://github.com/parksey

    티스토리툴바