• Home

My Codegate

  • Home

백준 2839 설탕 배달 자바 문제풀이

2023/12/07 Posted by Codegate Java No Comments
백준 2839 설탕 배달 자바 문제풀이

문제 링크

문제 내용은 입력으로 값을 받아서 5와 3으로 나눌 경우 나누는 횟수의 최소값을 구해줘야 하는데, 나올 수 있는 케이스는 5로 나누고 끝나는 경우, 5로 몇번 나눈 뒤 3으로 나눠서 끝나는 경우, 3으로만 나누면 끝나는 경우, 5와 3을 사용해도 나눌 수 없는 경우까지 해서 총 네 가지의 케이스를 처리해주면 되는데

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

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int val = Integer.parseInt(br.readLine());
        int maxFive = 0;
        int count = 0;

        if(val % 5 == 0) {
            System.out.println(val / 5);
        } else {
            for (int i = 1; i * 5 < val; i++) {
                if ((val - (5 * i)) % 3 == 0) {
                    maxFive = Math.max(maxFive, i);
                }
            }
            val -= 5 * maxFive;
            if (val % 3 == 0) {
                count += val / 3;
                System.out.println(count + maxFive);
            } else {
                System.out.println(-1);
            }
        }
    }
}

코딩을 해 보자면 먼저 5로 나눠서 끝나면 바로 끝내버리면 되고, 그렇지 않을 경우에는 5로 몇번까지 나눌 수 있을지 봐야 되는데 for 문을 돌리면서 5로 나눈 뒤 3으로 나누면 0으로 떨어지는 값을 찾되 반복문을 통해 1씩 올려주면서 최대값을 찾아준 후 maxFive 변수에 저장해주고

3으로 나눠보기 전, 5 * maxFive(5로 나눌 수 있는 최대값) 을 해주고 난 다음 3으로 나눠서 나눈 횟수와 5로 나눈 횟수를 더해준 후 출력해주면 끝이고, 3으로도 모두 나눌 수 없었다면 -1을 출력해주면 끝이다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next