[C++ / 11047] 동전 0

2023. 7. 28. 22:17·알고리즘/백준
728x90

문제

 

11047번: 동전 0

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

www.acmicpc.net


문제 설명

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

 

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


풀이 방식

해당 문제는 주어진 값을 이용하여 어떠한 값을 최소 횟수로 만들어 내는 것이 관건이다.

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

답: 6

위 예제를 보면 4200을 최소 횟수로 만들어 내기 위해서는 1000이 4번, 100이 2번 사용되면 된다.

 

이때 1000이상의 수는 4200원 보다 큼으로 사용되지 않을 것이고

100이하의 수는 더이상 필요가 없음으로 사용되지 않을 것이다.

 

즉, 오름차순으로 주어지는 값들을 내림차순으로 4200과 대조하여서 나눈다.

몫은 따로 저장해두고 나머지는 계속 값을 대조하여 0이 될때까지 진행한다.


솔루션

#include <iostream>
#include <vector>

using namespace std;

int main()
{
  ios_base::sync_with_stdio(0);
  cin.tie(0);

  int n, k;
  int ans = 0;
  cin >> n >> k;

  vector<int> v(n);

  for (int i = 0; i < n; i++)
    cin >> v[i];

  for (int i = n - 1; i >= 0; i--)
  {
    if (k == 0)
      break;

    if (k >= v[i])
    {
      ans += k / v[i];
      k %= v[i];
    }
  }

  cout << ans;
}
저작자표시

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

[C++ / 11053] 가장 긴 증가하는 부분 수열  (0) 2023.07.30
[C++ / 2012] 등수 매기기  (0) 2023.07.29
[C++ / 1074] Z  (0) 2023.07.26
[C++ / 1629] 곱셈  (0) 2023.07.24
[C++ / 2075] N번째 큰 수  (0) 2023.07.23
'알고리즘/백준' 카테고리의 다른 글
  • [C++ / 11053] 가장 긴 증가하는 부분 수열
  • [C++ / 2012] 등수 매기기
  • [C++ / 1074] Z
  • [C++ / 1629] 곱셈
기짜낭
기짜낭
생각이 많지만, 지금 내가 해야할 것을 하자.
  • 기짜낭
    So tired
    기짜낭
    • 분류 전체보기 (199)
      • 개발 (11)
        • Javascript (19)
        • Typescript (5)
        • Canvas (8)
        • React (13)
        • C (3)
      • 활동 (63)
        • 개인 프로젝트 (33)
        • 나눔 서포터즈 3기 (9)
        • 멋쟁이 사자처럼 (7)
        • 0&1 C++ 자료구조 스터디 (0)
        • 제 9회 창업 아이디어톤 (3)
        • Poom (ZeroWasteShop) (3)
        • 해커톤 (2)
        • 우테코 프리코스 7기 (6)
      • 알고리즘 (27)
        • 알고리즘 정리 (5)
        • 백준 (18)
        • 프로그래머스 (4)
      • 강연 (7)
      • 독서 (18)
      • 회고 & 생각 (16)
        • 연간회고 (4)
      • 기타 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • ※ 예전 블로그
  • 인기 글

  • 태그

    3기
    개발자
    HTML5
    독후감
    개념
    개발
    우테코
    ES6
    canvas
    백준
    react
    Javascript
    1주 1권
    Erica
    프로젝트
    1주에 1권씩
    알고리즘
    독서
    디자인
    프로그래밍
    타입스크립트
    tutorial
    군대
    대학
    한양대학교
    CSS
    프론트엔드
    에리카
    HTML
    TypeScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
기짜낭
[C++ / 11047] 동전 0
상단으로

티스토리툴바