[백준] 11047 동전 0 - 그리디(Greedy)

2024. 8. 1. 18:56·코딩 테스트/알고리즘

문제

코드

쉽게 풀 수 있는 대표적인 그리디 문제이다.
풀이 방법은 아래와 같다.

  • 풀이 방법
    1. 동전 종류를 배열에 저장한다.
    2. 배열을 큰 값부터 순회하며 K값보다 작거나 같은 경우 동전을 사용하고 사용한 동전의 개수를 센다.
    3. 사용한 동전의 개수를 출력한다.
  • 걸린 시간: 11분
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class _11047 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

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

        int[] coin = new int[N];
        for (int i = 0; i < N; i++) {
            coin[i] = Integer.parseInt(br.readLine());
        }
        int i = N-1;
        int cnt = 0;
        while (K != 0) {
            if (K >= coin[i]) {
                K -= coin[i];
                cnt++;
                continue;
            }
            i--;
        }

        System.out.println(cnt);
    }
}

 

나누기 연산을 사용하여 더 효율적으로 작성한 코드가 있어서 가져왔다. 알고리즘 문제를 풀다 보면 나누기를 이용하여 효율적으로 풀 수 있는 문제가 많다. 앞으로는 더 효율적으로 풀 수 있는 방법이 있는지 한번 더 고민해봐야겠다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());

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

        int ans = 0;

        int j = N - 1;
        for (int i = N - 1; i >= 0; i--) {
            if (K >= coins[i]) {
                ans += K / coins[i];
                K = K % coins[i];
            }
        }

        System.out.println(ans);
    }
}

'코딩 테스트 > 알고리즘' 카테고리의 다른 글

[백준] 1743 음식물 피하기(Silver.1) - BFS  (0) 2024.08.06
[백준] 1303 전쟁 - 전투(Silver.1) - BFS  (0) 2024.08.06
[프로그래머스] 42862 체육복(Lv.1) - 그리디(Greedy)  (0) 2024.07.31
[백준] 1759 암호 만들기(Gold.5) - 백트래킹(Backtracking)  (0) 2024.07.17
[프로그래머스] 84512 모음사전(Lv.2) - 완전 탐색(dfs, 재귀)  (0) 2024.07.17
'코딩 테스트/알고리즘' 카테고리의 다른 글
  • [백준] 1743 음식물 피하기(Silver.1) - BFS
  • [백준] 1303 전쟁 - 전투(Silver.1) - BFS
  • [프로그래머스] 42862 체육복(Lv.1) - 그리디(Greedy)
  • [백준] 1759 암호 만들기(Gold.5) - 백트래킹(Backtracking)
토자맨
토자맨
  • 토자맨
    개발하는 토자맨
    토자맨
  • 전체
    오늘
    어제
    • 개발 공부
      • 코딩 테스트
        • 코드업 기초 100제
        • 백준
        • 99클럽
        • 자료구조
        • 알고리즘
      • Programming Language
        • 자바(JAVA)
      • Back-end
        • Spring
      • Front-end
        • html
        • css
      • DevOps
        • AWS
        • CI CD
        • Docker
        • 홈서버
        • Git
      • Computer Science
        • 자료구조
        • 알고리즘
        • 운영체제
        • OS,Network,DB,DesignPattern
      • 프로젝트
        • 웨이트 쇼핑몰
      • 공부 로드맵
        • 2학년 겨울방학
        • 3학년 2학기
        • 3학년 겨울방학
      • 일상
        • 기타 정보
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    ec2 멈춤 #ec2 터짐 #ec2 ssh 연결 끊김 #ec2 끊김
    bfs #백준
    스프링핵심원리 #김영한 #의존관계자동주입 #의존관계 자동 주입
    99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #til
    백준 #이진탐색 #이분탐색
    dp #백준 #동적계획법
    스프링 #spring #스프링 컨테이너 #스프링 컨텍스트
    프로그래머스 #dfs
    dfs #알고리즘
    백준 #bfs
    solid #객체지향설계원칙
    티스토리챌린지
    백준 #dfs #알고리즘
    nvidia container toolkit #
    이진탐색 #이분탐색 #알고리즘
    백준 #아기상어2 #bfs
    bfs #최단거리탐색 #프로그래머스
    싱글톤 패턴 #싱글톤 컨테이너 #싱글톤 레지스트리 #싱글톤 객체 상태 #무상태 #stateless #유지상태 #staleful
    백준 #dfs #11725번
    git filter-branch #commit 수정 #commit
    백준 #dfs
    프로그래머스 #dp
    오블완
    nvidia-docker #docker cuda #docker gpu #엔비디아 도커
    git filter-repo
    이진탐색 #이분탐색 #백준
    bfs #프로그래머스
    피보나치 수 #백준 #dp
    백준 #dp #동적계획법
    dfs #백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
토자맨
[백준] 11047 동전 0 - 그리디(Greedy)
상단으로

티스토리툴바