[백준] 11407번: 동전 0

2024. 9. 24. 01:49·PS

 

 

 


 

문제

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

 

개념

그리디 알고리즘

 

 

실행 결과

 

 

 

구현 코드(c++)

#include <iostream>
#include <vector>
using namespace std;

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);

  int n;        // 동전개수
  long long k;  // 최솟값

  cin >> n >> k;

  vector<long long> coins(n);

  for (int i = 0; i < n; i++) {
    // 동전의 가치 오름차순으로 주어짐
    cin >> coins[i];
  }

  int answer = 0;

  // 가장 가치가 높은 동전부터 사용
  for (int i = n - 1; i >= 0; i--) {
    if (coins[i] <= k) {
      answer += k / coins[i]; // 사용할 동전 개수 추가
      k %= coins[i]; // 다음으로 사용할 동전 찾기 위해 나누기
    }
  }

  cout << answer;

  return 0;
}

 

 

 

 

코드 설명

그리디 알고리즘을 이해하기 위한 가장 기초적인 문제이다.

탐욕 알고리즘이라고도 하는데, 매 선택 중 최선의 선택을 골라 결과를 도출하는 방식을 사용한다.

따라서 이 문제의 입출력 예시 중 1번을 참고해서 최선의 선택을 진행해보자.

 

먼저 4200원을 만들기 위한 최소한의 동전 개수는 6개이다.

4000원 = 1000원 * 4개 

200원 = 100원 * 2개

동전의 가치는 1부터 시작해서 배수로만 주어지기 때문에 나누기 연산을 사용하면 된다.

또 나누기 연산을 사용하여 나오는 몫이 곧 동전의 개수라는 것을 알아야 한다.

 

따라서 동전의 개수를 저장할 변수 answer을 선언한다.

이후 k보다 해당 동전 가치가 낮다면 해당 가치가 가질 수 있는 최대 개수를 answer에 더하고,

해당 가치로 나누어서 남은 금액을 도출한다.

 

 

 


 

 

저작자표시 (새창열림)

'PS' 카테고리의 다른 글

[백준] 1475번: 방 번호  (0) 2024.09.25
[백준] 5585번: 거스름돈  (0) 2024.09.24
[코드트리] 원형 수열에서의 인원 제거  (0) 2024.09.20
[백준] 2579번: 계단 오르기  (0) 2024.09.20
[백준] 15649번: N과 M (1)  (0) 2024.09.18
'PS' 카테고리의 다른 글
  • [백준] 1475번: 방 번호
  • [백준] 5585번: 거스름돈
  • [코드트리] 원형 수열에서의 인원 제거
  • [백준] 2579번: 계단 오르기
abyss-s
abyss-s
프론트엔드 개발합니다!
  • abyss-s
    abyss-s의 블로그입니다.
    abyss-s
  • 전체
    오늘
    어제
    • 분류 전체보기 (190) N
      • Web (16)
        • JavaScript (6)
        • TypeScript (1)
        • React (5)
        • Vue (0)
        • Storybook (1)
        • Next.js (1)
      • Backend & Infra (8)
        • Database (3)
        • Node.js (2)
        • SpringBoot (1)
      • PS (71)
      • CS (30)
        • OS (13)
        • Structure & Algorithm (5)
        • Network (10)
        • 정보처리기사 (2)
      • Language (18)
        • OOP (1)
        • JAVA (13)
        • C++ (4)
      • Activities (14) N
        • 멋쟁이 사자처럼 (2)
        • OSSCA (3)
        • LG U+ URECA (5) N
        • Project (2)
      • AI (0)
      • Git & Github (5)
      • Notion (1)
      • IT (4)
      • Statistics (11)
      • Book (4)
      • Diary (1)
      • Game (1)
  • 블로그 메뉴

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

    • 깃허브
    • 백준
    • 트위터
  • 공지사항

    • abyss-s의 티스토리에 오신 것을 환영합니다.
  • 인기 글

  • 태그

    네트워크
    JavaScript
    Python
    그리디
    OS
    통계학
    운영체제
    BAEKJOON
    자바기반응용프로그래밍
    BFS
    백준
    파이썬
    React
    C++
    자바스크립트
    DP
    생활코딩
    Java
    코드트리
    github
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
abyss-s
[백준] 11407번: 동전 0
상단으로

티스토리툴바