[백준/Java] 11047 - 동전 0

2025. 8. 31. 13:59·코딩테스트/백준

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

문제


풀이

동전 배열이 오름차순으로 되어있기 때문에 역순으로 큰 수부터 탐색하는 것이 핵심이다

K가 동전 원소의 값보다 크면 K를 동전으로 나눌 수 있다는 뜻

K를 동전 원소로 나눈 값을 total에 더하고 K는 동전 원소로 나눈 나머지로 갱신한다

그러면 total은 동전 개수의 최솟값이 담겨있을 것이다

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;


public class Main {


    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();

        st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());

        int[] money = new int[N];
        for (int i = 0; i < N; i++) {
            money[i] = Integer.parseInt(br.readLine());
        }

        int total = 0;
        // money 배열을 역순으로 탐색하면서 진행
        for (int i = money.length - 1; i >= 0; i--) {
            if (K >= money[i]) {
                total += K / money[i];
                K %= money[i];
            }
            if (K == 0) {
                break;
            }
        }

        System.out.println(total);
    }

}

결과

'코딩테스트/백준' 카테고리의 다른 글
  • [백준/Java] 17219 - 비밀번호 찾기
  • [백준/Java] 11399 - ATM
  • [백준/Java] 11723 - 집합
  • [백준/Java] 3052번 - 나머지
KDH.dev
KDH.dev
  • KDH.dev
    CodingHard
    KDH.dev
  • 전체
    오늘
    어제
    • 전체글 (82)
      • 코딩테스트 (74)
        • 프로그래머스 (13)
        • 백준 (61)
      • CS (4)
        • 네트워크 (4)
      • Spring (1)
      • Java (3)
        • 자료구조 (3)
        • 알고리즘 (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    코딩테스트
    멀티캠퍼스it부트캠프
    네트워크
    자바
    5525
    13913
    14940
    11660
    프로그래머스 Lv.0
    CS
    자료구조
    [LG유플러스] 유레카 백엔드 개발자
    17626
    30804
    18111
    16935
    프로그래머스
    부트캠프후기
    백준
    21736
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
KDH.dev
[백준/Java] 11047 - 동전 0
상단으로

티스토리툴바