[JavaScript] 백준 2839 : 설탕 배달

2022. 7. 14. 19:08Algorithm/백준

class : 2

level : silver 4

문제 링크 : 설탕 배달

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

 

My Solution

let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim();
input = parseInt(input);
let arr = new Array(input+1).fill(-1);
arr[3]=1;
arr[5]=1;
for(let i = 6; i<input+1;i++){
    let temp = []
    if(arr[i-3]!==-1)
        temp.push(arr[i-3]+1);
    if(arr[i-5]!==-1)
        temp.push(arr[i-5]+1);
    if(temp.length>0)
        arr[i] = Math.min(...temp);
}
console.log(arr[input])

 

느낀점

제출 후 보니 예전에도 풀었던 문제였다. 이전에는 Dynamic Programming이 아닌 다른 방법으로 풀었다.

이전에 풀었을 때는 파이썬으로 풀었으며 이전 코드로 풀었을 경우 메모리는 더 많이 잡아 먹었으나 풀이 속도는 훨씬 빨랐다.

이전 풀이