문제
소스 코드
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
const input = require("fs")
.readFileSync(filePath)
.toString()
.trim()
.split("\n");
const n = +input[0];
const dp = new Array(n + 1).fill(0);
dp[1] = 1;
let min;
for (let i = 2; i <= n; i++) {
min = Infinity;
for (let j = 1; j * j <= i; j++) {
const tmp = i - j * j;
min = Math.min(min, dp[tmp]);
}
dp[i] = min + 1;
}
console.log(dp[n]);
'알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 백준 2503 (숫자 야구, 자바스크립트) (0) | 2023.06.15 |
---|---|
[알고리즘 연습] 백준 13023 (ABCDE, 자바스크립트) (0) | 2023.06.14 |
[알고리즘 연습] 백준 16937 (두 스티커, 자바스크립트) (0) | 2023.06.13 |
[알고리즘 연습] 백준 14501 (퇴사, 자바스크립트) (0) | 2023.06.13 |
[알고리즘 연습] 백준 18808 (스티커 붙이기, 자바스크립트) (0) | 2023.06.12 |