let fs = require("fs");
// let input = fs.readFileSync('/dev/stdin').toString().split(' ');
let input = fs.readFileSync("inp.txt").toString().split(" ");
let num = input.map((e) => Number(e));
for (let i = 1; i <= Math.ceil(num[0] / 3); i++) {
if (num[0] % 5 == 0) {
console.log(num[0] / 5);
break;
} else if ((num[0] - 3 * i) % 5 === 0) {
console.log((num[0] - 3 * i) / 5 + i);
break;
} else if (
(num[0] - 3 * i) % 5 !== 0 &&
num[0] % 3 !== 0 &&
num[0] % 5 !== 0
) {
console.log(-1);
break;
}
}
맨처음 for문으로 풀다가 작은수의 입력값은 출력값이 제대로나오는데 범위설정도 하기어렵고 뒤로갈수록 답이 계속틀려서 for문으로는 힘들거 같아서 while문을 사용해서 풀어보았습니다.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString();
let N = Number(input);
let f = 0;
let t = 0;
while(true){
if(N % 5 === 0){
five = N / 5;
console.log(five + three);
break;
}
if(N < 0){
console.log(-1);
break;
}
N = N - 3;
three++;
}
1.for문에서 했던거와 같이 우선 제일적은 설탕의 개수를 들때인 5의 나머지가 0일경우를 구한값을 구했습니다.
2.그리고 맨밑에서 N에서 3을계속빼주고 5를나눠주는데 나오지않아서 N이 0보다 작아질때를 -1로 값을 정했습니다.
3.2번에서 말했다싶이 맨밑에서 3을 한번식 계속 뺴주는 식으로 정했습니다.