백준 자바스크립트
[node.js] 2839 설탕배달 (자바스크립트) 기본수학단계1
sakuraop
2022. 6. 4. 23:27
2839 설탕 배달
3 ≤ N ≤ 5000 에 대하여 N을 최대한의 5의 배수와 최소한의 3의 배수를 합한 조합으로 나머지가 생기지 않도록 나눕니다.
5와 3각각의 배수끼리 더합니다. 나누어 떨어지지 않는다면 -1을 출력합니다.
18은 5x3 과 3x1로 이루어져 있습니다. 결과는 4입니다.
18
결과
4
제출한 답
let n = Number(require("fs").readFileSync("dev/stdin").toString());
let kg3 = 0;
while (n >= -2) {
if (n % 5 == 0) {
console.log(n / 5 + kg3);
break;
} else if (n < 0) {
console.log(-1);
}
kg3++;
n -= 3;
}
코드설명
- 1) 최대한의 5kg 봉지와 최소한의 3kg 봉지를 조합하여 나누어 떨어지도록 해야합니다.
- 2) 나누어 떨어지지 않는다면 3kg 만큼 덜어냅니다.
kg3++;
n -= 3; - 3) 5kg 봉지로 나누어떨어질 때까지 3kg 만큼 덜어내는 작업을 반복합니다.
while (n >= -2) {
if (n % 5 == 0) {
console.log(n / 5 + kg3);
break; - 4) 모두 덜어내었음에도 나누어떨어지지 않는다면 -1을 출력합니다.
} else if (n < 0) {
console.log(-1);
}