백준-Node.js-2839

송철진·2023년 2월 5일
0

백준-Node.js

목록 보기
5/69

풀이

const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString().trim()

const solution = num => {
  if(num % 5 === 0){
    return num / 5
  }else if(num % 5 === 1){
    return num / 5 < 1 ? -1 : parseInt(num/5) + 1
  }else if(num % 5 === 2){
    return num / 5 < 2 ? -1 : parseInt(num/5) + 2
  }else if(num % 5 === 3){
    return parseInt(num/5) + 1
  }else if(num % 5 === 4){
    return num / 5 < 1 ? -1 : parseInt(num/5) + 2
  }
}

console.log(solution(input))

봉지 수가 최소가 되어야 하되 봉지를 꽉 채우지 못하면 -1을 반환해야 한다
5로 나눈 나머지는 0, 1, 2, 3, 4 인데 각 경우의 규칙은 다음과 같다

0 -> 5kg 봉지로 나눈 몫
1 -> (5kg 봉지로 나눈 몫 -1) + (3kg 봉지 2개)
2 -> (5kg 봉지로 나눈 몫 -2) + (3kg 봉지 4개)
3 -> (5kg 봉지로 나눈 몫) + (3kg 봉지 1개)
4 -> (5kg 봉지로 나눈 몫 -1) + (3kg 봉지 3개)

이 때, 5kg 봉지로 나눈 몫이 음수가 되면 안되므로 각각이 경우에 대한 조건을 추가한다

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글