[백준] 11407번: 동전 0

2024. 9. 24. 01:49·PS
목차
  1. 문제
  2. 개념
  3. 실행 결과
  4. 구현 코드(c++)
  5. 코드 설명

 

 

 


 

문제

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
  1. 문제
  2. 개념
  3. 실행 결과
  4. 구현 코드(c++)
  5. 코드 설명
'PS' 카테고리의 다른 글
  • [백준] 1475번: 방 번호
  • [백준] 5585번: 거스름돈
  • [코드트리] 원형 수열에서의 인원 제거
  • [백준] 2579번: 계단 오르기
abyss-s
abyss-s
프론트엔드 공부합니다.
  • abyss-s
    abyss-s의 블로그입니다.
    abyss-s
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • 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 (12)
        • 멋쟁이 사자처럼 (2)
        • OSSCA (3)
        • LG U+ URECA (3)
        • Project (2)
      • AI (0)
      • Git & Github (5)
      • Notion (1)
      • IT (4)
      • Statistics (11)
      • Book (4)
      • Diary (1)
      • Game (1)
  • 블로그 메뉴

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

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

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

  • 태그

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

  • 최근 글

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

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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