재도전필요!⭐️
나의 문제 풀이
우선 최소 봉지의 개수를 구하기 위해 5킬로 봉지를 최대로 들어야 한다는 것은 파악했다. 하지만, 문제 풀이 구현 방법에 대해서 알기 어려웠다.
- 처음 아이디어 : N을 5로 최대한 나누고 몫을 센다. 그리고 N을3으로 최대한 나누고 몫을 센다. (실패)
- 두번째 아이디어 : 5의 배수, 3의 배수, 그외의 경우를 분기처리한다. (비효율...실패)
- 구글링 : N이 0보다 클때까지, 3을 뺀고 봉지 수를 더한다. 5의 배수인 경우에는 3을 빼기 전에 5로 나누고 몫을 센다.
그리디 문제 유형으로 다 해본다는 마음으로 접근했다. 그러나 나누기만 생각했지 빼기를 생각하지 못했다... 아쉽다. 어려운문제라고 생각하지 않았는데 바로 틀려서ㅠ 문제는 역시 많이 많이 풀어봐야 한다!
풀이
const fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString();
let result = 0;
while (input > 0) {
if ( input%5==0 ) {
result += Math.floor(input/5);
input %= 5;
break;
}
input -= 3; //-3
result += 1; //봉지의개수 +1
}
console.log(input < 0 ? -1 : result);
TIL
많은 문제를 풀어보자! 사칙연산을 활용하자!
링크
'🤜 코테' 카테고리의 다른 글
백준 문제 풀이 : 쇠막대기 (10799) (1) | 2024.06.13 |
---|---|
백준 문제 풀이 : 셀프 넘버 (4673) (0) | 2024.05.09 |
백준 문제 풀이 : ATM (11399) (0) | 2024.05.09 |
백준 문제 풀이 : 회의실 배정 (1931) (0) | 2024.05.09 |
백준 문제 풀이 : 수 찾기 (1920) (0) | 2024.05.08 |