Make 1
10์ ๊ฒฝ์ฐ, โ 10->9->3->1 (3๋ฒ) โก10->5->4->2->1(4๋ฒ) ์ฃผ์ด์ง ์ฐ์ฐ ๋๋ก๋ผ๋ฉด 2๋ก ๋๋์ด๋จ์ด์ง๊ธฐ ๋๋ฌธ์ โก์ ์์๋ก ์งํํ๋ ๊ฒ์ด ๋ง์ง๋ง, ๋ฐ๋ก๊ฐ ์กด์ฌํ๋ค. 1๋ก ๋จผ์ ๋นผ์ฃผ๋ ๊ฒ์ด ๋ ๋น ๋ฅด๊ฒ 1๋ก ๋ง๋ค์ด์ง๋ค.
๋ฐ๋ผ์ ๋น๊ตํด์ผํ๋ค. 2๋ก ๋๋์ด๋จ์ด์ง๋ ๊ฒฝ์ฐ๋ผ๋, 2๋ก ๋จผ์ ๋๋ด์ ๋๊ฐ ์ฐ์ฐ ์ต์ ํ์์ธ์ง, 1์ ๋จผ์ ๋บ์ ๋๊ฐ ์ฐ์ฐ ์ต์ ํ์์ธ์ง.
d[10] = Math.min(go(5)+1,go(9)+1) = Math.min(go(n/2)+1,go(n-1)+1) => ์ฒซ๋ฒ์งธ ๋น๊ต ๋์ : go(n/2)+1์ ์ฌ๊ทํจ์๋ก n/2๋ฅผ ์ป๊ธฐ ๋๋ฌธ์ n=>n/2๋ก 2๋ก ๋๋๋ ์ฐ์ฐ์ ํ๋ฒ ํ๊ธฐ ๋๋ฌธ์ฅ go(n/2)+1์ด ๋๋ค. => ๋๋ฒ์งธ ๋น๊ต ๋์ : go(n-1)+1 ์ ์ฌ๊ทํจ์๋ก n-1์ ์ป๊ธฐ ๋๋ฌธ์ n=>n-1๋ก 1 ๋นผ๋ ์ฐ์ฐ์ ํ๋ฒ ํ๊ธฐ ๋๋ฌธ์ go(n-1) +1์ด ๋๋ค. d[10]์ 2๊ฐ ์ค์ ์ต์๊ฐ์ ์ ํํ๋ค! ๋ค๋ฅธ ์ซ์ n๋ค๋ ใ ๋ง์ฐฌ๊ฐ์ง๋ก, 1์ ๋จผ์ ๋บ์ ๋ ์ฐ์ฐ ํ์์ 2 ๋๋ 3์ผ๋ก ๋๋์ด ๋จ์ง ๋ ๋จผ์ ใด๋๊ณ ๋์ ๋ง๋ ์ฐ์ฐ ํ์๋ฅผ ๋น๊ตํด์ ์ต์๊ฐ์ ์ ํํ๋ค!
Last updated