๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ ๋ฌธ์ ์ค๋ช
๊ฒฝํ๋ ๊ณผ์์์์ ๊ทค์ ์ํํ์ต๋๋ค. ๊ฒฝํ๋ ์ํํ ๊ทค ์ค 'k'๊ฐ๋ฅผ ๊ณจ๋ผ ์์ ํ๋์ ๋ด์ ํ๋งคํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ํํ ๊ทค์ ํฌ๊ธฐ๊ฐ ์ผ์ ํ์ง ์์ ๋ณด๊ธฐ์ ์ข์ง ์๋ค๊ณ ์๊ฐํ ๊ฒฝํ๋ ๊ทค์ ํฌ๊ธฐ๋ณ๋ก ๋ถ๋ฅํ์ ๋ ์๋ก ๋ค๋ฅธ ์ข
๋ฅ์ ์๋ฅผ ์ต์ํํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฒฝํ๊ฐ ์ํํ ๊ทค 8๊ฐ์ ํฌ๊ธฐ๊ฐ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ ํฉ์๋ค. ๊ฒฝํ๊ฐ ๊ทค 6๊ฐ๋ฅผ ํ๋งคํ๊ณ ์ถ๋ค๋ฉด, ํฌ๊ธฐ๊ฐ 1, 4์ธ ๊ทค์ ์ ์ธํ ์ฌ์ฏ ๊ฐ์ ๊ทค์ ์์์ ๋ด์ผ๋ฉด, ๊ทค์ ํฌ๊ธฐ์ ์ข
๋ฅ๊ฐ 2, 3, 5๋ก ์ด 3๊ฐ์ง๊ฐ ๋๋ฉฐ ์ด๋๊ฐ ์๋ก ๋ค๋ฅธ ์ข
๋ฅ๊ฐ ์ต์์ผ ๋์
๋๋ค. ๊ฒฝํ๊ฐ ํ ์์์ ๋ด์ผ๋ ค๋ ๊ทค์ ๊ฐ์ k์ ๊ทค์ ํฌ๊ธฐ๋ฅผ ๋ด์ ๋ฐฐ์ด tangerine..
๊พธ๋ฒ
๊พธ๋ฒ
์กฐ๋ ํ์ด ์๋๋ผ๋.. ๋งค์ผ ๋งค์ผ TIL์ ์ฐ๊ฒ ๋ค ๋ค์งํ๋ฉฐ.. ๋ค์ ์๋ฆฌ์ ์์์ต๋๋ค! ์ ํฌ ์กฐ ํ์ฅ๋์ด ๊ณต๋ถ๋ฐฉ๋ฒ์ ๊ฐ๋ฅด์ณ์ฃผ์
จ๋๋ฐ์! ํ๋ง๋๋ก ์ ๋ฆฌํ ์ ์์ด์ผ ์๋ ๊ฒ์ด๋ผ๊ณ ํ๋๋ผ๊ตฌ์!! ๊ทธ๋์ ํ์ฅ๋์ ๊ณต๋ถ๋ฒ์ ๋ณธ๋ฐ์ ์ ์ TIL์ ๋ด๊ฐ ์ค๋ ์๋ ๊ฒ์ ์ ์๋ด๋ ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ๋์ ๊ณํ๋ฒ ( Dynamic Programming ) ๋์ ๊ณํ๋ฒ์ ๊ฐ์ ๊ฒ์ ๋ฐ๋ณตํ์ฌ ๊ณ์ฐํ์ง ์๋ ๊ณ์ฐ๋ฒ์
๋๋ค. ๋ฐ๋ณต๋๋ ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ์ฌ ๋ฐ๋ณต๋๋ ์๋ฅผ ํธ์ถํ ๋๋ ๋ฉ๋ชจ๋ฆฌ์์ ํธ์ถํ์ฌ ์ฐ๋ ๋ฐฉ๋ฒ์
๋๋ค! ๋ํ์ ์ธ ๋ฌธ์ ์์๋ก ํผ๋ณด๋์น ์์ด์ด ์์ต๋๋ค. ์ ํ์๊ฐ์ด ์ธ์ ํ ํญ๋ค ์ฌ์ด์ ๊ด๊ณ์์ด ๋ง๋ค ์ ์๋ ์๋ค์ด ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํ๋ฆฝ๋๋ค! ์ด์ ์ฝ๋ฉํ
์คํธ์ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ , ์ ํ์์ด ๋ณด์ธ๋ค๋ฉด ๋ฌด์กฐ๊ฑด DP๋ก..
์ค๋์ ARC ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํด์ ๊ณต๋ถํด ๋ณผ๊น ํฉ๋๋ค! ๊ทธ๋ผ ์์ํด ๋ณผ๊น์?! โจ ์ค์ํํธ๋ ARC ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ํ ์์ญ์์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์.. ๊ทธ๋ ๋ค๋ฉด ํ ์์ญ์ด ๋์ฒด ๋ญ๊ธธ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํ ๊น์?! ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ค Heap ์์ญ Heap ์์ญ์ ๋ฐํ์ ์ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ํ ๊ฒฝ์ฐ์ ๋์ ์ผ๋ก ํ ๋น๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ณณ์
๋๋ค. ๊ทธ๋ผ ๋์ ํ ๋น์ด ๋ญ๋ฐ์?! ๋์ ํ ๋น์ด๋ ์คํ ์์ญ์ฒ๋ผ ์ ํด์ง ๊ณณ์ ๋ฐ์ดํฐ ๋ฑ๋ฑ ๋ค์ด๊ฐ๊ณ ๋์ค๋ ๊ฒ์ด ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ์ ๋น์์ ธ ์๋ ๊ณต๊ฐ์ ์ฐพ์์ ํฌ๊ธฐ๋ ์์กด๊ธฐ๊ฐ์ ์ ํ์ฌ ํ ๋นํ ์ ์๋ ๋ฐฉ๋ฒ์
๋๋ค. Heap ์์ญ์๋ ์ฐธ์กฐ ํ์
์ ๋ฐ์ดํฐ๋ง ์ ์ฅ์ด ๋ฉ๋๋ค. ๋ฐํ์ ์ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ํ ๊ฒฝ์ฐ Heap ์์ญ์ ์ ์ฅ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ ์ผ๋ก ํ ๋น ์ฐธ..
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ -Swift-CodingTest/ํ๋ก๊ทธ๋๋จธ์ค/2/12914. ๋ฉ๋ฆฌ ๋ฐ๊ธฐ at main · BaeJihae/-Swift-CodingTest Swift๋ก ํผ ์ฝ๋ฉ ํ
์คํธ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํ๊ณ ๊ณต๋ถํ๋ ๊ณต๊ฐ์
๋๋ค. Contribute to BaeJihae/-Swift-CodingTest development by creating an account on GitHub. github.com ๋ฌธ์ ์ค๋ช
ํจ์ง์ด๋ ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ์ฐ์ตํ๊ณ ์์ต๋๋ค. ํจ์ง์ด๋ ํ๋ฒ์ 1์นธ,..
๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ( ๋์ ๊ณํ๋ฒ ) ์ด๋? ํ ๋ฒ ์ฐ์ฐ๋ ๊ฐ์ ๋ฐ๋ณตํ์ฌ ์ฐ์ฐํ์ง ์๋๋ก ์ด๋ฏธ ์ฐ์ฐ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค. ๋ํ์ ์ธ ์ : ํผ๋ณด๋์น ์์ด ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ํ์ ์ธ ์๋ก๋ ํผ๋ณด๋์น ์์ด์ด ์๋ค. ์์ ๊ฐ์ด ์ ์๊ฐ ๋ ํผ๋ณด๋์น ์์ด์ F(3) = F(1) + F(2) F(4) = F(2) + F(3) ... ์ผ๋ก ๊ณ์ฐ์ด ๋๋ฏ๋ก ๋ฐ๋ณต์ ์ธ ๊ณ์ฐ์ด ๋์จ๋ค. ์ด์ ์ ๊ณ์ฐ๋ F(3)์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด ๋๋ค๋ฉด, F(4)๋ฅผ ๊ณ์ฐํ ๋, F(3)์ ๋ค์ ๊ณ์ฐํ์ง ์์๋ ๋๋ค. ๋ฌธ์ ํ์ด ๋ฐฉ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ํ์ด ๋ฐฉ์์ ๋๊ฐ์ง๋ก ๋๋๋ค. ํ๋ค์ด ๋ฐฉ์ ( Top-Down ๋ฐฉ์ ) ํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ๋ฌธ์ ๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์ผ๋ก ์ฌ๊ทํจ์๋ก ํธ๋ ๋ฐฉ๋ฒ์ด๋ค. ( ํ..
Keep ๐ ํ์๋ค๊ณผ์ ์ํต : ์ ํฌ ํ์ ํ๋ฃจ์ ๋ ๋ฒ์ฉ ํน์ ๊ทธ๋ณด๋ค ๋ ์์ฃผ ์ ํฌ์ ์ํฉ๋ค์ ๊ณต์ ํ๋ฉด์ ํ๋ก์ ํธ๋ฅผ ์งํํ์์ต๋๋ค. ์ด๋ค ๊ธฐ๋ฅ์ด ์์ฑ์ด ๋์๊ณ , ์ด๋ค ๋ถ๋ถ์ ํด์ผํ๋์ง์ ๋ํ ์ํต์ด ์ํํ ์งํ๋๋ค๋ณด๋ ๋๊ตฌํ๋ ๋ค์ณ์ง์ง ์๊ณ , ํ๋ก์ ํธ๋ฅผ ์ ๋ง๋ฌด๋ฆฌํ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๐ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ์์
ํ ํ์ ์์๋๋ก merged ์งํ : ๊ฐ์์ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ์งํ์ ํ ํ์ ํ๋์ ๊ธฐ๋ฅ์ฉ merged๋ฅผ ์์
ํ์ฌ์ ์ข ๋ ์์ ํ๊ฒ merged ์์
์ ์งํํ ์ ์์๊ณ , ํด๋น ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ถ๊ณผ์ ์ํต์ ์ํํ๊ฒ ํ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๐ data manager๋ฅผ ํตํ data ๋ถ๋ฆฌํ๋ ๋ถ๋ถ : data manager๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ๋ค์ํ ํ๋ฉด์์ ํ๋์..
์๋ฅํ์ธ์! ์ค๋์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด ๊ฒช์๋ ์ค๋ฅ์ ๋ํด์ ์ด์ผ๊ธฐํด๋ณด๋ ค๊ณ ํฉ๋๋ค..!!! ๊ทธ๋์ .gitignore ํ .. ์ด๋์๋ถํฐ ์ด๋ป๊ฒ ์ด์ผ๊ธฐ๋ฅผ ๊บผ๋ด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง.. ์ ์ ์กฐ์ ํ์ฅ์ ์ ์
๋๋ค!ใ
ใ
๊ทธ๋์ ์ ๊ฐ ์ ์ ํ๋ก์ ํธ์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ฒ ๋์์ต๋๋ค! ์ ๊ฐ ์ฒซ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด์, .gitignore์ด ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์๋ค๊ณ ์๊ฐ์ ํ๊ณ ์ถ๊ฐ๋ฅผ ์ํ๋ค์ฃ ?!? ๊ทธ๋ฌ๋๋ ๋ฌดํ์ ์๊ฒจ๋๋ .DS_Store๋ก ๋ณํฉํ ๋๋ง๋ค ์ค๋ฅ๊ฐ ๋๋๊ฒ๋๋ค..ใ
ใ
ใ
ใ
ใ
ใ
์ง์๋ ์ง์๋ ์๊พธ ์ฆ์ํ๋ .DS_Store ๋๋ฌธ์ push๋ ๋ชปํ๊ณ , merge๋ ๋ชปํ๋ ์ํฉ์ด ๋์ด๋ฒ๋ ธ์ฃ .. ๊ทธ๋์ ๋ค๋ฅธ ๋ถ๊ป์ ์ ๋ฅผ ๋์์ฃผ๊ฒ ๋ค๊ณ ์ ๋ธ๋์น์์๋ง .gitignore ํ์ผ์ ์ถ๊ฐํด์ฃผ์
จ๋๋ฐ.. ์ด๋์ ์ด๋ป๊ฒ ๊ผฌ์ฌ๋ฒ๋ฆฐ์ง๋ ๋ชจ๋ฅด..
๐ ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr โ๐ป Github ๋ฌธ์ ํ์ด -Swift-CodingTest/ํ๋ก๊ทธ๋๋จธ์ค/2/12953. N๊ฐ์ ์ต์๊ณต๋ฐฐ์ at main · BaeJihae/-Swift-CodingTest Swift๋ก ํผ ์ฝ๋ฉ ํ
์คํธ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํ๊ณ ๊ณต๋ถํ๋ ๊ณต๊ฐ์
๋๋ค. Contribute to BaeJihae/-Swift-CodingTest development by creating an account on GitHub. github.com ๋ฌธ์ ์ค๋ช
๋ ์์ ์ต์๊ณต๋ฐฐ์(Least Common Multiple)๋ ์
..