코드 저장소.

백준 - 웰컴 키트 본문

코테/JAVA

백준 - 웰컴 키트

slown 2025. 9. 1. 20:16

목차

1.문제 출저

2. 요구사항

3.코드 작성

 

1.문제 출저

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

2. 요구사항

우선 이 문제를 보고 도출한 요구사항은 아래와 같다.

 

참가자의 수: N

티셔츠 (T)

  • 6개의 사이즈가 있다.(S,M,L,XL,XXL,XXXL)
  • 같은 사이즈의 T장 묶음.
  • 참가자의 수보다 남아도 괜찮다.

펜 (P)

  • 참가자 수만큼 묶음으로 주문
  • 재고는 참가자수이므로 남는게 없다.

 첫 입력은 참가자의 수 

 두번째 입력은 참가자의 수만큼 티셔츠 사이즈의 갯수를 입력

 세번째 입력은 티셔츠와 펜의 묶음수 

 마지막으로 계산을 한 값을 보여준다.

 

sudo 코드는 

 

참가자 입력을 받는다. 

 

참가자의수 만큼 배열을 만들어서 반복문을 돌려서 반복문 안에 티셔츠의 종류의 수를 넣는다.

 

티셔츠와 펜의 묶음수를 입력을 한다.

 

마지막으로 각 티셔츠와 펜의 묶음에 관련된 계산을 실행.

 

계산은 다음과 같다.

 

티셔츠 = (티셔츠 사이즈 수 + 티셔츠 묶음수-1)/ 티셔츠 묶음수

 

펜 = 펜자루수/펜 묶음수 (하지만 나머지가 있을수 있으므로 펜자루수%펜 묶음수)

3.코드 작성

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


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

        int N = Integer.parseInt(br.readLine()); // 참가자 수

        st = new StringTokenizer(br.readLine());
        int[] shirts = new int[6];
        for (int i = 0; i < 6; i++) {
            shirts[i] = Integer.parseInt(st.nextToken());
        }

        st = new StringTokenizer(br.readLine());
        int T = Integer.parseInt(st.nextToken()); // 티셔츠 묶음 단위
        int P = Integer.parseInt(st.nextToken()); // 펜 묶음 단위

        // 티셔츠 묶음 계산
        int totalShirtBundles = 0;
        for (int count : shirts) {
            totalShirtBundles += (count + T - 1) / T; // 올림 나눗셈
        }

        // 펜 묶음 계산
        int penBundles = N / P;
        int penSingles = N % P;

        // 출력
        System.out.println(totalShirtBundles);
        System.out.println(penBundles + " " + penSingles);
    }
}