๋ฐฑ์ค€[node.js] > 1463๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ

2024. 12. 13. 00:02ยท๐Ÿ”’Algorithm

๋ฌธ์ œ

https://www.acmicpc.net/problem/1463

 

๋ฌธ์ œํ’€์ด

dp๋กœ ์ ‘๊ทผํ•˜์ง€ ์•Š์œผ๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

๋ฌธ์ œํ’€์ด์˜ ํ•ต์‹ฌ์€ ์•„๋ž˜ ์ ํ™”์‹์ด๋‹ค. 

์—ฌ๊ธฐ์„œ dp[i] ๋Š” i๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ์—ฐ์‚ฐ ํšŸ์ˆ˜์ด๋‹ค. ( dp[1]=0, dp[2]=1, dp[3]=1 ์ด๋‹ค )  

 

1 ) i๊ฐ€ 3์˜๋ฐฐ์ˆ˜์ด๊ณ  2์˜ ๋ฐฐ์ˆ˜์ผ ๋•Œ

dp[i] = Math. ( dp[i/3] +1 , dp[i/2] +1 , dp[i-1] +1 )   

 

2 ) i๊ฐ€ 3์˜ ๋ฐฐ์ˆ˜์ด๊ณ  2์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹๋•Œ

dp[i] = Math. ( dp[i/3] +1 , dp[i-1] +1 )   

 

3 ) i๊ฐ€ 2์˜ ๋ฐฐ์ˆ˜์ด๊ณ  3์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹๋•Œ

dp[i] = Math. ( dp[i/2] +1 , dp[i-1] +1 )   

 

 

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim();

let num = Number(input);

if (num === 1) {
    console.log(0);
    return;
}

let dp = Array(num + 1).fill(Infinity);
dp[1] = 0;
dp[2] = 1;
dp[3] = 1;

for (let i = 4; i <= num; ++i) {
    dp[i] = dp[i - 1] + 1;

    if (i % 3 === 0) {
        dp[i] = Math.min(dp[i], dp[i / 3] + 1);
    }
    if (i % 2 === 0) {
        dp[i] = Math.min(dp[i], dp[i / 2] + 1);
    }
}

console.log(dp[num]);

'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€[node.js] > 11727๋ฒˆ 2xn ํƒ€์ผ๋ง 2  (0) 2024.12.15
๋ฐฑ์ค€[node.js] > 30804๋ฒˆ ๊ณผ์ผ ํƒ•ํ›„๋ฃจ  (1) 2024.12.14
๋ฐฑ์ค€[node.js] > 1541๋ฒˆ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ  (0) 2024.12.11
๋ฐฑ์ค€[node.js] > 17129๋ฒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ  (0) 2024.12.09
๋ฐฑ์ค€[node.js] > 12865๋ฒˆ ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ  (0) 2024.12.08
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€[node.js] > 11727๋ฒˆ 2xn ํƒ€์ผ๋ง 2
  • ๋ฐฑ์ค€[node.js] > 30804๋ฒˆ ๊ณผ์ผ ํƒ•ํ›„๋ฃจ
  • ๋ฐฑ์ค€[node.js] > 1541๋ฒˆ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ
  • ๋ฐฑ์ค€[node.js] > 17129๋ฒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    leetcode
    ๊ณจ๋“œ5
    ์‹ค๋ฒ„1
    javascript
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    ํ”„๋ก ํŠธ์—”๋“œ
    ๊ตฌํ˜„
    ์˜ค๋ธ”์™„
    ์‹ค๋ฒ„4
    Easy
    ์ฝ”ํ…Œ
    ๊ทธ๋ฆฌ๋””
    Lv2
    dp
    js
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    ์ž์Šค
    ๋ฐฑ์ค€
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    nodejs
    node.js
    DFS
    ์‹ค๋ฒ„3
    react
    Algorithm
    FE
    ์‹ค๋ฒ„2
    BFS
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
๋ฐฑ์ค€[node.js] > 1463๋ฒˆ 1๋กœ ๋งŒ๋“ค๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”