30802. 웰컴 키트
문제 풀이
js
const testcases = [
{
input: '23\n3 1 4 1 5 9\n5 7',
output: '7\n3 2',
},
];
function solution(input) {
const inputParsed = input
.trim()
.split('\n')
.map(val => val.split(' ').map(Number));
let lineIdx = 0;
const [N] = inputParsed[lineIdx++];
const sizes = inputParsed[lineIdx++];
const [T, P] = inputParsed[lineIdx];
const result = [];
let tShirtsBundleCnt = 0;
sizes.forEach(size => {
tShirtsBundleCnt += Math.ceil(size / T);
});
result.push(tShirtsBundleCnt);
const penBundleCnt = Math.floor(N / P);
const penCnt = N % P;
result.push(`${penBundleCnt} ${penCnt}`);
return result.join('\n');
}
export default { solution, testcases };
js
const testcases = [
{
input: '23\n3 1 4 1 5 9\n5 7',
output: '7\n3 2',
},
];
function solution(input) {
const inputParsed = input
.trim()
.split('\n')
.map(val => val.split(' ').map(Number));
let lineIdx = 0;
const [N] = inputParsed[lineIdx++];
const sizes = inputParsed[lineIdx++];
const [T, P] = inputParsed[lineIdx];
const result = [];
let tShirtsBundleCnt = 0;
sizes.forEach(size => {
tShirtsBundleCnt += Math.ceil(size / T);
});
result.push(tShirtsBundleCnt);
const penBundleCnt = Math.floor(N / P);
const penCnt = N % P;
result.push(`${penBundleCnt} ${penCnt}`);
return result.join('\n');
}
module.exports = { solution, testcases };
ts
import type { Input, Output, Testcases } from 'bananass';
const testcases = [
{
input: '23\n3 1 4 1 5 9\n5 7',
output: '7\n3 2',
},
] satisfies Testcases;
function solution(input: Input): Output {
const inputParsed = input
.trim()
.split('\n')
.map(val => val.split(' ').map(Number));
let lineIdx = 0;
const [N] = inputParsed[lineIdx++];
const sizes = inputParsed[lineIdx++];
const [T, P] = inputParsed[lineIdx];
const result = [];
let tShirtsBundleCnt = 0;
sizes.forEach(size => {
tShirtsBundleCnt += Math.ceil(size / T);
});
result.push(tShirtsBundleCnt);
const penBundleCnt = Math.floor(N / P);
const penCnt = N % P;
result.push(`${penBundleCnt} ${penCnt}`);
return result.join('\n');
}
export default { solution, testcases };
ts
import type { Input, Output, Testcases } from 'bananass';
const testcases = [
{
input: '23\n3 1 4 1 5 9\n5 7',
output: '7\n3 2',
},
] satisfies Testcases;
function solution(input: Input): Output {
const inputParsed = input
.trim()
.split('\n')
.map(val => val.split(' ').map(Number));
let lineIdx = 0;
const [N] = inputParsed[lineIdx++];
const sizes = inputParsed[lineIdx++];
const [T, P] = inputParsed[lineIdx];
const result = [];
let tShirtsBundleCnt = 0;
sizes.forEach(size => {
tShirtsBundleCnt += Math.ceil(size / T);
});
result.push(tShirtsBundleCnt);
const penBundleCnt = Math.floor(N / P);
const penCnt = N % P;
result.push(`${penBundleCnt} ${penCnt}`);
return result.join('\n');
}
module.exports = { solution, testcases };
해설
티셔츠 묶음 수
각 사이즈별 필요한 묶음 수는 다음과 같습니다:
펜 묶음 수와 낱개 수
총 참가자 수:
펜은 정확히
- 최대한 많은 묶음:
- 낱개 주문 수: