๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (208)
๐ป
๋ฌธ์ ๋งค์ง ์คํ๋ 1๋ถํฐ 12๊น์ง ์ซ์๊ฐ ํฅ์ฌ๊ทธ๋จ(hexagram)์ ์ฑ์์ ธ ์๋ ๋ชจ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋งค์ง ์คํ์ ์ด๋ฆ์ ๋งค์ง์ด ๋ค์ด๊ฐ๋ ์ด์ ๋ ์ซ์ ๋ค ๊ฐ๋ก ์ด๋ฃจ์ด์ง ์ค์ ์ซ์๋ฅผ ๋ชจ๋ ํฉํ๋ฉด 26์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์์ ๊ทธ๋ฆผ์ ์ฌ์ฏ ์ค์ ์ฐ์ฌ ์๋ ์ซ์๋ ๋ค์๊ณผ ๊ฐ๋ค. 1 + 4 + 10 + 11 11 + 5 + 3 + 7 7 + 6 + 12 + 1 2 + 10 + 5 + 9 9 + 3 + 6 + 8 8 + 12 + 4 + 2 ๋งค์ง ์คํ๋ฅผ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋ค. ์ผ๋ถ๋ง ์ฑ์์ง ๋งค์ง ์คํ๊ฐ ์ฃผ์ด์ก์ ๋, ์๋ฅผ ์ ๋ถ ๋ค ์ฑ์์ ๋งค์ง ์คํ๋ฅผ ๋ง๋๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ๋งค์ง ์คํ์ ๋ชจ์์ด ์ฃผ์ด์ง๋ค. ์๊ฐ ์ฑ์์ ธ ์์ง ์์ ๊ณณ์ x๋ก, ์ฑ์์ ธ ์๋ ๊ณณ์ 'A'๋ถํฐ 'L'๊น์ง ์ํ๋ฒณ์ผ๋ก ..
๋ฌธ์ ์ํฌ๋ ๊ณต๊ฐํค์ ๊ฐ์ธํค ํ ์์ผ๋ก ๋ณด์์ ์ ์งํ๋ ๊ฒ์ด ๋งค์ฐ ๋ถํธํ๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ ์ํฌ๋ ๊ณต๊ฐํค๋ง์ ์ด์ฉํ๋ ์ํธํ ์ฒด๊ณ๋ฅผ ๊ฐ๋ฐํ๋ค. ์ด๋ฅผ "์ฒ ๋ฒฝ ๋ณด์ ์๊ณ ๋ฆฌ์ฆ"์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ก ํ๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. ํ ๋จ์ด๋ 1~10๊ฐ์ ๋๋ฌธ์(A-Z)๋ค๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๋ค. ํ ๋ฌธ์ฅ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ๋จ์ด๋ค๋ก ์ด๋ฃจ์ด์ก๋ค. ์ 1 ๊ณต๊ฐํค๋ ์ต๋ ํ ๋ฒ๋ง ์ฌ์ฉ๋ ๋จ์ด๋ค๋ก ๋์ด์๋ค. ์ 2 ๊ณต๊ฐํค๋ ์ 1 ๊ณต๊ฐํค์ ๋จ์ด๋ค์ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค์ด์ง๋ค. ํ๋ฌธ(์ํธํ ๋์ง ์์ ๋ฌธ์ฅ)์ ์ 1 ๊ณต๊ฐํค์ ๊ฐ์ด ์ฌ๋ฌ ๋จ์ด๋ค๋ก ๋์ด์์ง๋ง, ์ 1 ๊ณต๊ฐํค์ ๋ค๋ฅด๊ฒ ๊ฐ ๋จ์ด๋ค์ ์ค๋ณต์ด ๊ฐ๋ฅํ๋ค. ์ํธ๋ฌธ(์ํธํ ๋ ๋ฌธ์ฅ)์ ํ๋ฌธ์ ์ 2 ๊ณต๊ฐํค๋ฅผ ๋ง๋ ๊ท์น์ ๋ฐ๋๋ก ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค์ด์ง๋ค. ์ฃผ์ด์ง 2๊ฐ์ ๊ณต๊ฐํค์ ์ํธ๋ฌธ..
๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ(Dynamic Programming) => ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋๋์ ํธ๋ ์๊ณ ๋ฆฌ์ฆ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ ๋ฌธ์ ๋ ํ ๋ฒ๋ง ํ์ด์ผ ํ๋ค. Optimal Substructure ๋ฅผ ๋ง์กฑํ๊ธฐ ๋๋ฌธ์, ๊ฐ์ ๋ฌธ์ ๋ ๊ตฌํ ๋๋ง๋ค ์ ๋ต์ด ๊ฐ๋ค. ๋ฐ๋ผ์, ์ ๋ต์ ํ ๋ฒ ๊ตฌํ์ผ๋ฉด ์ด๋๊ฐ์ ๋ฉ๋ชจํด๋๋๋ค. ์ด๋ฐ ๋ฉ๋ชจํ๋ ๊ฒ์ ์ฝ๋์ ๊ตฌํ์์๋ ๋ฐฐ์ด์ ์ ์ฅํ๋ ๊ฒ์ผ๋ก ํ ์ ์๋ค. ๋ฉ๋ชจ๋ฅผ ํ๋ค๊ณ ํด์ ์์ด๋ก Memoization ์ด๋ผ๊ณ ํ๋ค. ๋ ๊ฐ์ง ์์ฑ์ ๋ง์กฑํด์ผ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. 1. Overlapping Subproblem (๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋๋ ์ ํธ๋๋ฐ, ์ด๋ ๋ฌธ์ ๋ค๋ผ๋ฆฌ ๊ฒน์ณ์ผํ๋ค.) ํฐ ๋ฌธ์ ์ ์์ ๋ฌธ์ ๋ฅผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์๋ค. ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ..
๋ฌธ์ ์ ์ X์ ์ฌ์ฉํ ์ ์๋ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ๊ฐ์ง ์ด๋ค. X๊ฐ 3์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ฉด, 3์ผ๋ก ๋๋๋ค. X๊ฐ 2๋ก ๋๋์ด ๋จ์ด์ง๋ฉด, 2๋ก ๋๋๋ค. 1์ ๋บ๋ค. ์ ์ N์ด ์ฃผ์ด์ก์ ๋, ์์ ๊ฐ์ ์ฐ์ฐ ์ธ ๊ฐ๋ฅผ ์ ์ ํ ์ฌ์ฉํด์ 1์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ฐ์ฐ์ ์ฌ์ฉํ๋ ํ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 106๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ์ฐ์ ํ๋ ํ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ1 2 ์์ ์ถ๋ ฅ1 1 ์์ ์ ๋ ฅ2 10 ์์ ์ถ๋ ฅ2 3 ํํธ 10์ ๊ฒฝ์ฐ์ 10 -> 9 -> 3 -> 1 ๋ก 3๋ฒ ๋ง์ ๋ง๋ค ์ ์๋ค. ์๊ฐ Top-down ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค. ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ์ ๊ฒฝ์ฐ ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ์ชผ๊ฐ์ ํด๊ฒฐํด์ผ๋๊ธฐ..
๋ฌธ์ ์ด 8๊ฐ์ ํฑ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ํฑ๋๋ฐํด 4๊ฐ๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ๋ ฌ๋ก ๋์ฌ์ ธ ์๋ค. ๋, ํฑ๋๋ N๊ทน ๋๋ S๊ทน ์ค ํ๋๋ฅผ ๋ํ๋ด๊ณ ์๋ค. ํฑ๋๋ฐํด์๋ ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋๋ฐ, ๊ฐ์ฅ ์ผ์ชฝ ํฑ๋๋ฐํด๊ฐ 1๋ฒ, ๊ทธ ์ค๋ฅธ์ชฝ์ 2๋ฒ, ๊ทธ ์ค๋ฅธ์ชฝ์ 3๋ฒ, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ํฑ๋๋ฐํด๋ 4๋ฒ์ด๋ค. ์ด๋, ํฑ๋๋ฐํด๋ฅผ ์ด K๋ฒ ํ์ ์ํค๋ ค๊ณ ํ๋ค. ํฑ๋๋ฐํด์ ํ์ ์ ํ ์นธ์ ๊ธฐ์ค์ผ๋ก ํ๋ค. ํ์ ์ ์๊ณ ๋ฐฉํฅ๊ณผ ๋ฐ์๊ณ ๋ฐฉํฅ์ด ์๊ณ , ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ์ ํ๋ค. ํฑ๋๋ฐํด๋ฅผ ํ์ ์ํค๋ ค๋ฉด, ํ์ ์ํฌ ํฑ๋๋ฐํด์ ํ์ ์ํฌ ๋ฐฉํฅ์ ๊ฒฐ์ ํด์ผ ํ๋ค. ํฑ๋๋ฐํด๊ฐ ํ์ ํ ๋, ์๋ก ๋ง๋ฟ์ ๊ทน์ ๋ฐ๋ผ์ ์์ ์๋ ํฑ๋๋ฐํด๋ฅผ ํ์ ์ํฌ ์๋ ์๊ณ , ํ์ ์ํค์ง ์์ ์๋ ์๋ค. ํฑ๋๋ฐํด A๋ฅผ ํ์ ํ ๋, ๊ทธ ์์ ์๋ ํฑ๋๋ฐํด B์ ์๋ก ๋ง๋ฟ์ ํฑ๋..
๋ฌธ์ N(1≤N≤100,000)๊ฐ์ ๋กํ๊ฐ ์๋ค. ์ด ๋กํ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฐ ์ ๋ฐ ๋ฌผ์ฒด๋ฅผ ๋ค์ด์ฌ๋ฆด ์ ์๋ค. ๊ฐ๊ฐ์ ๋กํ๋ ๊ทธ ๊ตต๊ธฐ๋ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค ์ ์๋ ๋ฌผ์ฒด์ ์ค๋์ด ์๋ก ๋ค๋ฅผ ์๋ ์๋ค. ํ์ง๋ง ์ฌ๋ฌ ๊ฐ์ ๋กํ๋ฅผ ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐํ๋ฉด ๊ฐ๊ฐ์ ๋กํ์ ๊ฑธ๋ฆฌ๋ ์ค๋์ ๋๋ ์ ์๋ค. k๊ฐ์ ๋กํ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋์ด w์ธ ๋ฌผ์ฒด๋ฅผ ๋ค์ด์ฌ๋ฆด ๋, ๊ฐ๊ฐ์ ๋กํ์๋ ๋ชจ๋ ๊ณ ๋ฅด๊ฒ w/k ๋งํผ์ ์ค๋์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ค. ๊ฐ ๋กํ๋ค์ ๋ํ ์ ๋ณด๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ๋กํ๋ค์ ์ด์ฉํ์ฌ ๋ค์ด์ฌ๋ฆด ์ ์๋ ๋ฌผ์ฒด์ ์ต๋ ์ค๋์ ๊ตฌํด๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ชจ๋ ๋กํ๋ฅผ ์ฌ์ฉํด์ผ ํ ํ์๋ ์์ผ๋ฉฐ, ์์๋ก ๋ช ๊ฐ์ ๋กํ๋ฅผ ๊ณจ๋ผ์ ์ฌ์ฉํด๋ ๋๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ๋กํ๊ฐ ๋ฒํธ ์ ์๋ ..
๋ฌธ์ N์ฅ์ ์นด๋๊ฐ ์๋ค. ๊ฐ๊ฐ์ ์นด๋๋ ์ฐจ๋ก๋ก 1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์์ผ๋ฉฐ, 1๋ฒ ์นด๋๊ฐ ์ ์ผ ์์, N๋ฒ ์นด๋๊ฐ ์ ์ผ ์๋์ธ ์ํ๋ก ์์๋๋ก ์นด๋๊ฐ ๋์ฌ ์๋ค. ์ด์ ๋ค์๊ณผ ๊ฐ์ ๋์์ ์นด๋๊ฐ ํ ์ฅ ๋จ์ ๋๊น์ง ๋ฐ๋ณตํ๊ฒ ๋๋ค. ์ฐ์ , ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ๋ฐ๋ฅ์ ๋ฒ๋ฆฐ๋ค. ๊ทธ ๋ค์, ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ์ ์ผ ์๋์ ์๋ ์นด๋ ๋ฐ์ผ๋ก ์ฎ๊ธด๋ค. ์๋ฅผ ๋ค์ด N=4์ธ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์. ์นด๋๋ ์ ์ผ ์์์๋ถํฐ 1234 ์ ์์๋ก ๋์ฌ์๋ค. 1์ ๋ฒ๋ฆฌ๋ฉด 234๊ฐ ๋จ๋๋ค. ์ฌ๊ธฐ์ 2๋ฅผ ์ ์ผ ์๋๋ก ์ฎ๊ธฐ๋ฉด 342๊ฐ ๋๋ค. 3์ ๋ฒ๋ฆฌ๋ฉด 42๊ฐ ๋๊ณ , 4๋ฅผ ๋ฐ์ผ๋ก ์ฎ๊ธฐ๋ฉด 24๊ฐ ๋๋ค. ๋ง์ง๋ง์ผ๋ก 2๋ฅผ ๋ฒ๋ฆฌ๊ณ ๋๋ฉด, ๋จ๋ ์นด๋๋ 4๊ฐ ๋๋ค. N์ด ์ฃผ์ด์ก์ ๋, ์ ์ผ ๋ง์ง๋ง์ ๋จ๊ฒ ๋๋ ์นด๋๋ฅผ ๊ตฌํ๋ ํ๋ก..
๋ฌธ์ 5×5 ํฌ๊ธฐ์ ์ซ์ํ์ด ์๋ค. ๊ฐ๊ฐ์ ์นธ์๋ ์ซ์(digit, 0๋ถํฐ 9๊น์ง)๊ฐ ์ ํ ์๋ค. ์ด ์ซ์ํ์ ์์์ ์์น์์ ์์ํด์, ์ธ์ ํด ์๋ ๋ค ๋ฐฉํฅ์ผ๋ก ๋ค์ฏ ๋ฒ ์ด๋ํ๋ฉด์, ๊ฐ ์นธ์ ์ ํ์๋ ์ซ์๋ฅผ ์ฐจ๋ก๋ก ๋ถ์ด๋ฉด 6์๋ฆฌ์ ์๊ฐ ๋๋ค. ์ด๋์ ํ ๋์๋ ํ ๋ฒ ๊ฑฐ์ณค๋ ์นธ์ ๋ค์ ๊ฑฐ์ณ๋ ๋๋ฉฐ, 0์ผ๋ก ์์ํ๋ 000123๊ณผ ๊ฐ์ ์๋ก ๋ง๋ค ์ ์๋ค. ์ซ์ํ์ด ์ฃผ์ด์ก์ ๋, ๋ง๋ค ์ ์๋ ์๋ก ๋ค๋ฅธ ์ฌ์ฏ ์๋ฆฌ์ ์๋ค์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ๋ค์ฏ ๊ฐ์ ์ค์ ๋ค์ฏ ๊ฐ์ ์ ์๋ก ์ซ์ํ์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ง๋ค ์ ์๋ ์๋ค์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 ์์ ์ถ๋ ฅ1 15 ํํธ 1111..