๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€ JS

[๋ฐฑ์ค€] node.js/ 1463_1๋กœ ๋งŒ๋“ค๊ธฐ

by Tamii 2021. 10. 27.
๋ฐ˜์‘ํ˜•

 

 

๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ๋Š๋‚Œ์ด ์™”๋‹ค. 

์•„ ์ด๊ฑฐ.. ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ•„์š”ํ•˜๋‹ค!!!!!

 

์ฒ˜์Œ์—๋Š” 3๋ถ€ํ„ฐ ๋‚˜๋ˆ„๊ณ , 2๋ถ€ํ„ฐ๋‚˜๋ˆ‹๊ณ  -1 ํ•˜๋ฉด ๋˜์ง€ ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ฒœ๋งŒ์˜ ๋ง์”€~

ํžŒํŠธ์— ๋–กํ•˜๋‹ˆ ๋‚˜์™€ ์žˆ๋Š” ๊ฐ€๋ฅด์นจ์„ ๋ณด๊ณ  ๋ฐ”๋กœ ๋Œ๋ ธ๋‹ค.

 

 

 

 

์ฐธ๊ณ  ํ’€์ด

const fs = require('fs');

let n = (fs.readFileSync('./dev/stdin') + '').toString().trim();
n = Number(n);

const DP = new Array(n + 1).fill(0);

for (let i = 2; i <= n; i++) {
  DP[i] = DP[i - 1] + 1;

  if (i % 2 === 0) DP[i] = Math.min(DP[i], DP[i / 2] + 1);
  if (i % 3 === 0) DP[i] = Math.min(DP[i], DP[i / 3] + 1);
}
console.log(DP[n]);

ํ’€์ด๋Š” ๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ!

์ •๋ง ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์˜ ๊ฐ€์ง“์ˆ˜๋ฅผ ๋‹ค ๊ณ„์‚ฐํ•ด๋ณด๊ณ  ์ตœ์†Œ ๊ณ„์‚ฐ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผ ํ•˜๋Š”๋ฐ  ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” 

n์˜ ๊ณ„์‚ฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ ์ „์˜ ๊ฐ’๋“ค์˜ ์ตœ์†Œ ๊ณ„์‚ฐ์ˆ˜๋“ค์˜ ์ตœ์†Œ๊ฐ’๋“ค์„ ๊ฒฝ์Ÿํ•ด์„œ ์˜ฌ๋ ค์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

 

๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ‘ธ๋Š” ํŒ์—์„œ๋„ ๊ฐ„๋‹จํžˆ ์„ค๋ช…์„ ํ•ด๋†จ์—ˆ๋Š”๋ฐ

 

 

๋ฌธ์ œ ํ’€์ด

 

์˜ˆ์‹œ๋กœ 10์˜ ๊ฒฝ์šฐ๋Š” ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ๋Œ๋ ค๋ณด๊ณ  ์ตœ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๋ฐ

 

1) 9์˜ ์ตœ์†Œ ๊ณ„์‚ฐ์ˆ˜ + 1 

2) 2๋กœ ๋‚˜๋ˆ ์ง€๋ฉด  min(2๋กœ๋‚˜๋ˆˆ๊ฐ’, ํ˜„์žฌ๊ฐ’)  min (DP[5]+1, DP[10])

2) 3๋กœ ๋‚˜๋ˆ ์ง€๋ฉด  min(3๋กœ๋‚˜๋ˆˆ๊ฐ’, ํ˜„์žฌ๊ฐ’) 3์œผ๋กœ ๋‚˜๋ˆ ์ง€์ง€ ์•Š์Œ

 

์—ฌ๊ธฐ์„œ +1 ์„ ํ•ด์ฃผ๋Š” ์ด์œ ๋Š”

์ „์˜ ๊ฐ’์—์„œ 10์— ๋„๋‹ฌํ•˜๊ธฐ ์ง์ „์˜ ์ตœ์†Œ ๊ณ„์‚ฐ์ˆ˜์—๋‹ค ๋„๋‹ฌํ•  ๊ฒฝ์šฐ์˜ ์ˆ˜(1)์„ ๋”ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

< ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉฐ  ํ™•์ธํ•œ DP๋ฐฐ์—ด

 

DP[10] ์—๋Š”

1) DP[9]+1   2+1= 3

2) DP[5]+1  4+1 = 5

์ค‘ ์ตœ์†Œ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ธฐ  ๋•Œ๋ฌธ์— 3์ด ๋œ๋‹ค 

 

 

 

 

 

 

 

 

 

 

 

๐Ÿฅณ ์ฒ˜์Œ์—” ์ ˆ๋Œ€ ์ดํ•ด ๋ชปํ–ˆ๋Š”๋ฐ ์ง€๊ธˆ์€ ์ดํ•ด ๋˜๋Š”๊ฑธ  ๋ณด๋‹ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹ค๋ ฅ(์ด๋ผ๊ธฐ๋ณด๋‹ค ๊ฑ ๋…ธ๋ จํ•จ) ์ด ์ž๋ผ๋Š” ์ค‘์ธ๊ฐ€๋ณด๋‹ค!!

 

 

๐Ÿ”— ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ 

๋Œ“๊ธ€