
내가 생각했을때 문제에서 원하는부분
첫 줄에 참가자의 수 N이 주어집니다. (1 <= N <= 10^9)
둘째 줄에 티셔츠 사이즈별 신청자의 수 S, M, L, XL, XXL, XXXL이 공백으로 구분되어 주어집니다.
(0 <= S, M, XL, XXL, XXXL <= N; S + M + L + XL + XXL + XXXL = N)
셋째 줄에 정수 티셔츠와 펜의 묶음 수를 의미하는 정수 T와 P가 공백으로 구분되어 주어집니다.
(2 <= T, P <= 10^9)
첫 줄에 티셔츠를 T장씩 최소 몇 묶음 주문해야 하는지 출력하세요.
다음 줄에 펜을 P자루씩 최대 몇 묶음 주문할 수 있는지와, 그 때 펜을 한 자루씩 몇 개 주문하는지 구하세요.
내가 이 문제를 보고 생각해본 부분
BufferedReader를 사용하여 입력을 받는다.
참가자 수 N을 입력받고, 각 티셔츠 사이즈별 신청자 수(S, M, L, XL, XXL, XXXL)를 배열로 입력받는다.
티셔츠 묶음 수 T와 펜 묶음 수 P를 입력받는다.
티셔츠 묶음 수 계산:
각 사이즈별 신청자 수를 T로 나누어 올림을 적용하여 필요한 묶음 수를 계산해준다.
이때, (X + T - 1) / T 공식을 사용하여 올림 계산을 구현한다.
펜 묶음 수 및 남은 펜 계산:
총 참가자 수 N을 P로 나누어 묶음 수를 계산하고, 나머지를 통해 남은 펜 수를 계산한다.
결과 출력:
PrintWriter를 사용하여 결과를 한 번에 출력한다.
계산된 티셔츠 묶음 수와 펜의 묶음 수 및 남은 펜 수를 출력한다.
코드로 구현
package baekjoon.baekjoon_26;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
// 백준 30802번 문제
public class Main942 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(System.out);
// 참가자 수 N
long N = Long.parseLong(br.readLine());
// 티셔츠 사이즈별 신청자 수 S, M, L, XL, XXL, XXXL
String[] sizes = br.readLine().split(" ");
long S = Long.parseLong(sizes[0]);
long M = Long.parseLong(sizes[1]);
long L = Long.parseLong(sizes[2]);
long XL = Long.parseLong(sizes[3]);
long XXL = Long.parseLong(sizes[4]);
long XXXL = Long.parseLong(sizes[5]);
// 티셔츠와 펜의 묶음 수 T, P
String[] packSizes = br.readLine().split(" ");
long T = Long.parseLong(packSizes[0]);
long P = Long.parseLong(packSizes[1]);
// 티셔츠 묶음 수 계산
long tShirtBundles = (S + T - 1) / T + (M + T - 1) / T + (L + T - 1) / T +
(XL + T - 1) / T + (XXL + T - 1) / T + (XXXL + T - 1) / T;
// 펜 묶음 수 및 개수 계산
long pensPerBundle = N / P;
long remainingPens = N % P;
// 결과 출력
pw.println(tShirtBundles);
pw.println(pensPerBundle + " " + remainingPens);
pw.flush();
pw.close();
br.close();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.