๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

[Java] BOJ 30802 ์›ฐ์ปดํ‚คํŠธ

by ๐ŸŠ๊ทค๐ŸŠ 2024. 7. 9.

๋ฌธ์ œ 

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/30802

  • ์ฒซ ์ค„์— ์ฐธ๊ฐ€์ž์˜ ์ˆ˜ ์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. (1 ≤

์•„์ด๋””์–ด

  • ์‚ฌ์ด์ฆˆ ๋ณ„๋กœ ํ•œ ๋ฌถ์Œ๋‹น ์žˆ๋Š” ํ‹ฐ์…”์ธ  ๊ฐœ์ˆ˜๋ฅผ ๋นผ์„œ ๋งˆ์ด๋„ˆ์Šค๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ ์นด์šดํŠธ๋ฅผ ํ•˜๋ฉด ์ตœ์†Œ ๋ช‡ ๋ฌถ์Œ์„ ์ฃผ๋ฌธํ•ด์•ผ๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

  • ํŽœ์€ ํ•œ ๋ฌถ์Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์œผ๋ฏ€๋กœ ์ „์ฒด ์‚ฌ๋žŒ์ˆ˜์—์„œ ํŽœ ํ•œ ๋ฌถ์Œ๊ฐœ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์–ด ๋ชซ์€ ํ•„์š”ํ•œ ๋ฌถ์Œ์˜ ๊ฐœ์ˆ˜, ๋‚˜๋จธ์ง€๋Š” ํ•„์š”ํ•œ ๋‚ฑ๊ฐœ ๊ฐœ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค

  • ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์ฝ๋Š”๋ฐ ๋ง์ด ๋ญ”๊ฐ€ ๋ณต์žกํ•ด์„œ ํ•œ๋ฒˆ์— ์ดํ•ด๋ฅผ ๋ชปํ•˜๊ณ  ๋‘์„ธ๋ฒˆ ์ฝ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค... ์ด๋Ÿฐ ๋ฌธ์ œ๋“ค๋„ ์•ž์œผ๋กœ ๋งŽ์„ํ…๋ฐ ์ต์ˆ™ํ•ด์ง€์ž..!!

ํŒŒ์ดํŒ…!!

์ฝ”๋“œ

import java.io.*;
import java.util.*;

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

        int N = Integer.parseInt(br.readLine());

        StringTokenizer st = new StringTokenizer(br.readLine());

        // ์‚ฌ์ด์ฆˆ๊ฐ€ 6๊ฐœ ์ด๋ฏ€๋กœ, ํฌ๊ธฐ๋ฅผ 6์œผ๋กœ ์ง€์ • S, M, L, XL, XXL, XXXL
        int size[] = new int[6];

        // ๊ฐ ์‚ฌ์ด์ฆˆ๋งˆ๋‹ค ํ•„์š”ํ•œ ์ˆซ์ž ๊ธฐ๋ก
        for(int i = 0; i < 6; i++){
            size[i] = Integer.parseInt(st.nextToken());
        }

        StringTokenizer st2 = new StringTokenizer(br.readLine());

        // ํ‹ฐ์…”์ธ  ์‚ฌ์ด์ฆˆ๋ฅผ T์žฅ์”ฉ ๋ฌถ์Œ์œผ๋กœ ์ฃผ๋ฌธ
        int T = Integer.parseInt(st2.nextToken());
        // ํŽœ์„ P์ž๋ฃจ์”ฉ ๋ฌถ์Œ์œผ๋กœ ์ฃผ๋ฌธ
        int P = Integer.parseInt(st2.nextToken());

        // ํ‹ฐ์…”์ธ ๋ฅผ ๋ช‡ ๋ฌถ์Œ์œผ๋กœ ์ฃผ๋ฌธํ•ด์•ผ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ณ€์ˆ˜
        int t_count = 0;
        // ํŽœ์„ P์ž๋ฃจ์”ฉ ์ตœ๋Œ€ ๋ช‡๋ฌถ์Œ์œผ๋กœ ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋ณ€์ˆ˜
        int ps_count = 0;
        // ํŽœ์€ ๋‚จ๊ฑฐ๋‚˜ ๋ชจ์ž๋ผ์„œ ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌถ์Œ์œผ๋กœ ์ฃผ๋ฌธํ•˜๊ณ ๋‚œ ํ›„, ํ•„์š”ํ•œ ํŽœ ์ˆ˜
        int p_count = 0;

        for(int i = 0; i < 6; i++){
            // ์‚ฌ์ด์ฆˆ๋งˆ๋‹ค ํ•„์š”ํ•œ ๊ฐœ์ˆ˜์—์„œ ํ•œ ๋ฌถ์Œ๋‹น ์žˆ๋Š” ํ‹ฐ์…”์ธ  ์ˆซ์ž๋ฅผ ๋นผ,
            // ํ•„์š”ํ•œ ๋ฌถ์Œ ์ˆ˜ ๊ณ„์‚ฐ
            while(true){
                if(size[i] > 0){
                    size[i] = size[i] - T;
                    t_count = t_count + 1;
                }

                if(size[i] <= 0){
                    break;
                }
            }
        }

        // ํ•„์š”ํ•œ ํŽœ ๋ฌถ์Œ์€ ์ „์ฒด์—์„œ ํ•œ ๋ฌถ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜๋ˆˆ ๋ชซ
        ps_count = N / P;
        // ํ•„์š”ํ•œ ๋‚ฑ๊ฐœ ํŽœ์€ ์ „์ฒด์—์„œ ํ•œ ๋ฌถ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€
        p_count = N % P;

        System.out.println(t_count);
        System.out.println(ps_count + " " + p_count);
    }
}