๊ฐ์ธ๊ณต๋ถ/Algorithm
[๋ฐฑ์ค][Node.js] 1463๋ฒ : 1๋ก ๋ง๋ค๊ธฐ
๐๋ฐ๋ด๋ด๐
2021. 7. 3. 00:00
Algorithm
- 1๋ก ๋ง๋ค๊ธฐ -
๋ฌธ์
์ ์ X์ ์ฌ์ฉํ ์ ์๋ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ๊ฐ์ง ์ด๋ค.
1. X๊ฐ 3์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ฉด, 3์ผ๋ก ๋๋๋ค.
2. X๊ฐ 2๋ก ๋๋์ด ๋จ์ด์ง๋ฉด, 2๋ก ๋๋๋ค.
3. 1์ ๋บ๋ค.
์ ์ N์ด ์ฃผ์ด์ก์ ๋, ์์ ๊ฐ์ ์ฐ์ฐ ์ธ ๊ฐ๋ฅผ ์ ์ ํ ์ฌ์ฉํด์ 1์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ฐ์ฐ์ ์ฌ์ฉํ๋ ํ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ์์ค.
์ ์ถ๋ ฅ ์์
๋ฌธ์ ํ๊ธฐ
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim();
input = Number(input);
let arr = [0, 0, 1, 1]; // ํธ์๋ฅผ ์ํด 0๋ฒ์งธ๋ pass
for (let i = 4; i <= input; i++) {
arr[i] = arr[i - 1] + 1;
if (i % 3 === 0 && arr[i / 3] + 1 < arr[i]) {
arr[i] = arr[i / 3] + 1;
} else if (i % 2 === 0 && arr[i / 2] + 1 < arr[i]) {
arr[i] = arr[i / 2] + 1;
}
}
console.log(arr[input]);
๋ฐ์ํ