๐Ÿ“– [๋ฐฑ์ค€์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด] Q.2839 ์„คํƒ•๊ณต์žฅ ๋ฌธ์ œ ํ’€์ด

๐Ÿ“– ๋ฌธ์ œ

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

์ƒ๊ทผ์ด๋Š” ์š”์ฆ˜ ์„คํƒ•๊ณต์žฅ์—์„œ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•˜๊ณ  ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ง€๊ธˆ ์‚ฌํƒ•๊ฐ€๊ฒŒ์— ์„คํƒ•์„ ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค.

์„คํƒ•๊ณต์žฅ์—์„œ ๋งŒ๋“œ๋Š” ์„คํƒ•์€ ๋ด‰์ง€์— ๋‹ด๊ฒจ์ ธ ์žˆ๋‹ค. ๋ด‰์ง€๋Š” 3ํ‚ฌ๋กœ๊ทธ๋žจ ๋ด‰์ง€์™€ 5ํ‚ฌ๋กœ๊ทธ๋žจ ๋ด‰์ง€๊ฐ€ ์žˆ๋‹ค.

์ƒ๊ทผ์ด๋Š” ๊ท€์ฐฎ๊ธฐ ๋•Œ๋ฌธ์—, ์ตœ๋Œ€ํ•œ ์ ์€ ๋ด‰์ง€๋ฅผ ๋“ค๊ณ  ๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 18ํ‚ฌ๋กœ๊ทธ๋žจ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•  ๋•Œ,

3ํ‚ฌ๋กœ๊ทธ๋žจ ๋ด‰์ง€ 6๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ๋˜์ง€๋งŒ, 5ํ‚ฌ๋กœ๊ทธ๋žจ 3๊ฐœ์™€ 3ํ‚ฌ๋กœ๊ทธ๋žจ 1๊ฐœ๋ฅผ ๋ฐฐ๋‹ฌํ•˜๋ฉด, ๋” ์ ์€ ๊ฐœ์ˆ˜์˜ ๋ด‰์ง€๋ฅผ ๋ฐฐ๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ๊ทผ์ด๊ฐ€ ์„คํƒ•์„ ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•  ๋•Œ, ๋ด‰์ง€ ๋ช‡ ๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ๋˜๋Š”์ง€ ๊ทธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๐Ÿ” ์ ‘๊ทผ๋ฒ•

BOJ Q.2839 ์„คํƒ•๊ณต์žฅ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
 
์˜ค์ง 3kg ๋ด‰์ง€์™€ 5kg ๋ด‰์ง€๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด 3kg ๋ด‰์ง€์™€ 5kg์˜ ๋ด‰์ง€๋ฅผ ์ด์šฉํ•ด ์ตœ๋Œ€ํ•œ
 
 
์ ์€ ๊ฐœ์ˆ˜์˜ ๋ด‰์ง€๋กœ ๋ฐฐ๋‹ฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

์ตœ๋Œ€ํ•œ ์ ์€ ๋ด‰์ง€ ์ˆ˜๋กœ ๋ฐฐ๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”

5kg ๋ด‰์ง€๋กœ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ๋‹ด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ 5kg ๋ด‰์ง€๋กœ ๋‹ด์„ ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€

3kg์งœ๋ฆฌ๋กœ ๋‹ด๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ 5kg ๋ด‰์ง€๋กœ ๋‹ด์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ์ฝ”๋“œ

package problem.greedy;

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

public class Main_2839 {

    static int N;

    public static void main(String[] args) throws IOException {
        input();
        int result = solve();
        System.out.println(result);
    }

    public static int solve(){
        int sugar = N;
        int num = 0;
        while(sugar>0){
            if(sugar%5 == 0){
                num += sugar/5;
                sugar %= 5;
            }
            else{
                sugar-=3;
                num++;
            }
        }
        if(sugar<0){
            return -1;
        }
        return num;
    }

    public static void input() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());
        br.close();
    }

}

Written on December 1, 2020