๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm/Baekjoon

[9์ฃผ์ฐจ] ๋ฐฑ์ค€ 10162 ์ „์ž๋ ˆ์ธ์ง€

์ „์ž๋ ˆ์ธ์ง€ ๋ฌธ์ œํ’€์ด

๐Ÿ’ปQ

3๊ฐœ์˜ ์‹œ๊ฐ„์กฐ์ ˆ์šฉ ๋ฒ„ํŠผ A B C๊ฐ€ ๋‹ฌ๋ฆฐ ์ „์ž๋ ˆ์ธ์ง€๊ฐ€ ์žˆ๋‹ค. ๊ฐ ๋ฒ„ํŠผ๋งˆ๋‹ค ์ผ์ •ํ•œ ์‹œ๊ฐ„์ด ์ง€์ •๋˜์–ด ์žˆ์–ด ํ•ด๋‹น ๋ฒ„ํŠผ์„ ํ•œ๋ฒˆ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๊ทธ ์‹œ๊ฐ„์ด ๋™์ž‘์‹œ๊ฐ„์— ๋”ํ•ด์ง„๋‹ค. ๋ฒ„ํŠผ A, B, C์— ์ง€์ •๋œ ์‹œ๊ฐ„์€ ๊ฐ๊ฐ 5๋ถ„, 1๋ถ„, 10์ดˆ์ด๋‹ค.

๋ƒ‰๋™์Œ์‹๋งˆ๋‹ค ์ „์ž๋ ˆ์ธ์ง€๋กœ ์š”๋ฆฌํ•ด์•ผํ•  ์‹œ๊ฐ„ T๊ฐ€ ์ดˆ๋‹จ์œ„๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” A, B, C 3๊ฐœ์˜ ๋ฒ„ํŠผ์„ ์ ์ ˆํžˆ ๋ˆŒ๋Ÿฌ์„œ ๊ทธ ์‹œ๊ฐ„์˜ ํ•ฉ์ด ์ •ํ™•ํžˆ T์ดˆ๊ฐ€ ๋˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ ๋ฒ„ํŠผ A, B, C๋ฅผ ๋ˆ„๋ฅธ ํšŸ์ˆ˜์˜ ํ•ฉ์€ ํ•ญ์ƒ ์ตœ์†Œ๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์„ ์ตœ์†Œ๋ฒ„ํŠผ ์กฐ์ž‘์ด๋ผ๊ณ  ํ•œ๋‹ค. 

๋งŒ์ผ ์š”๋ฆฌ์‹œ๊ฐ„์ด 100์ดˆ๋ผ๊ณ  ํ•˜๋ฉด(T=100) B๋ฅผ 1๋ฒˆ, C๋Š” 4๋ฒˆ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค. ์ด์™€ ๋‹ค๋ฅด๊ฒŒ C๋ฅผ 10๋ฒˆ ๋ˆŒ๋Ÿฌ๋„ 100์ดˆ๊ฐ€ ๋˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ 10๋ฒˆ์€ ์ตœ์†Œ ํšŸ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด ๋‹ต์ด ๋  ์ˆ˜ ์—†๋‹ค. ์ด ๊ฒฝ์šฐ B 1๋ฒˆ, C 4๋ฒˆ, ์ด 5๋ฒˆ์ด ์ตœ์†Œ๋ฒ„ํŠผ ์กฐ์ž‘์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  T=234์™€ ๊ฐ™์ด 3๊ฐœ์˜ ๋ฒ„ํŠผ์œผ๋กœ ์‹œ๊ฐ„์„ ์ •ํ™•ํžˆ ๋งž์ถœ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. 

์—ฌ๋Ÿฌ๋ถ„์€ ์ฃผ์–ด์ง„ ์š”๋ฆฌ์‹œ๊ฐ„ T์ดˆ๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•œ ์ตœ์†Œ๋ฒ„ํŠผ ์กฐ์ž‘ ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. 

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์š”๋ฆฌ์‹œ๊ฐ„ T(์ดˆ)๊ฐ€ ์ •์ˆ˜๋กœ ์ฃผ์–ด์ ธ ์žˆ์œผ๋ฉฐ ๊ทธ ๋ฒ”์œ„๋Š” 1 ≤ T ≤ 10,000 ์ด๋‹ค.

์ถœ๋ ฅ
์—ฌ๋Ÿฌ๋ถ„์€ T์ดˆ๋ฅผ ์œ„ํ•œ ์ตœ์†Œ๋ฒ„ํŠผ ์กฐ์ž‘์˜ A B C ํšŸ์ˆ˜๋ฅผ ์ฒซ ์ค„์— ์ฐจ๋ก€๋Œ€๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ํšŸ์ˆ˜ ์‚ฌ์ด์—๋Š” ๋นˆ ์นธ์„ ๋‘”๋‹ค. ํ•ด๋‹น ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” ์ˆซ์ž 0์„ ์ถœ๋ ฅํ•ด์•ผํ•œ๋‹ค. ๋งŒ์ผ ์ œ์‹œ๋œ 3๊ฐœ์˜ ๋ฒ„ํŠผ์œผ๋กœ T์ดˆ๋ฅผ ๋งž์ถœ ์ˆ˜ ์—†์œผ๋ฉด ์Œ์ˆ˜ -1์„ ์ฒซ ์ค„์— ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. 

์„œ๋ธŒํƒœ์Šคํฌ
์ž…๋ ฅ ์˜ˆ์ œ1
์ถœ๋ ฅ ์˜ˆ์ œ1
์ž…๋ ฅ ์˜ˆ์ œ2
์ถœ๋ ฅ ์˜ˆ์ œ2

 

๐Ÿ’กA


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int time = sc.nextInt();
        int a = 0;
        int b = 0;
        int c = 0;
        
        while(time >= 10) {
            if(time>=300) {
                time -= 300;
                a++;
            }else if(time>=60) {
                time -= 60;
                b++;
            }else if(time>=10) {
                time -= 10;
                c++;
            }
        }
            System.out.println(time == 0 ? a+" "+b+" "+c : -1);
        
    }
}โ€‹