728x90 ๋ฐ์ํ Dynamic Programming4 [Swift] 2022 KAKAO TECH INTERNSHIP ์ฝ๋ฉ ํ ์คํธ ๊ณต๋ถ Problem ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค. 1. ์๊ณ ๋ ฅ๊ณผ ์ฝ๋ฉ๋ ฅ์ ์ต๋์น๋ฅผ ๊ตฌํด์ค๋ค. ๋ฌธ์ ๋ฅผ ๋ชจ๋ ํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ๋ ฅ๊ณผ ์ฝ๋ฉ๋ ฅ์ ์ต๋์น๋ฅผ ์ป๋ ๋ค๋ ๊ฒ์ด๋ฏ๋ก ๋ฏธ๋ฆฌ ๊ตฌํด์ค๋ค. var maxAlp: Int = alp var maxCop: Int = cop problems.forEach { maxAlp = max(maxAlp,$0[0]) maxCop = max(maxCop,$0[1]) } 2. dp ๋ฐฐ์ด์ ์๊ณ ๋ ฅ + 1 , ์ฝ๋ฉ๋ ฅ + 1๊ฐ์ ์ด์ค ๋ฐฐ์ด์ ๋ง๋ค์ด .. 2022. 8. 26. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๊ฐฏ์ Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๊ฐฏ์ ์ฌ๋ฐ๋ฅธ ๊ดํธ๋ (())๋ ()์ ๊ฐ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ชจ๋ ๋ซํ ๊ดํธ๋ฅผ ์๋ฏธํฉ๋๋ค. )(๋ ())() ์ ๊ฐ์ ๊ดํธ๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ๊ฐ ๋ฉ๋๋ค. ๊ดํธ ์์ ๊ฐ์ n์ด ์ฃผ์ด์ง ๋, n๊ฐ์ ๊ดํธ ์์ผ๋ก ๋ง๋ค ์ ์๋ ๋ชจ programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ์ด์ฉํด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๊ดํธ๊ฐ 1์์ธ ๊ฒ๋ถํฐ ์ฃผ์ด์ง n์๊น์ง ์ฐจ๊ทผ ์ฐจ๊ทผ ํ์ด๋๊ฐ์ผ ํ๋๋ฐ์. ์ง์ ๊ตฌํด๋ณด๊ธฐ ๊ดํธ๊ฐ 1์์ผ ๋ ๊ฒฝ์ฐ์ ์๊ฐ -> ()๋ง ์กด์ฌํฉ๋๋ค. ๊ดํธ๊ฐ 2์์ผ ๊ฒฝ์ฐ -> ()(),(()) ์ด๋ ๊ฒ ๋ ๊ฐ๊ฐ ์กด์ฌํฉ๋๋ค. ๊ดํธ๊ฐ 3์์ผ ๊ฒฝ์ฐ -> ((())), (()()), (())(), ()(()),()()() ์ด๋ ๊ฒ 5.. 2022. 3. 6. [Algorithm] ๋์ ๊ณํ๋ฒ(Dynamic Programming)์ด๋? ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ๊ทธ ๋์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋์ ๊ณํ๋ฒ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ๋์ค๋ฉด ์ด๋ ค์์ ๊ฒช๊ณค ํ๋๋ฐ์.. ์ค๋์ ๋์ ๊ณํ๋ฒ์ ๋ํด์ ์ ๋๋ก ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์! ๋์ ๊ณํ๋ฒ(Dynamic Programming)์ด๋? ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ 1950๋ ๋ ๋ฏธ๊ตญ์ ์ํ์์ธ ๋ฆฌ์ฒ๋ ๋ฒจ๋งจ์ด ์ต์ ํ ๋ฌธ์ (Optimization Problem)๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๊ณ ์๋์๋ค. ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์ ๋ก ๋๋์ด ํธ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ฉฐ ์ด๊ฒ์ ๋ถ๋ถ ๋ฌธ์ ๋ฐ๋ณต๊ณผ ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ๋นํด ๋์ฑ ์ ์ ์๊ฐ ๋ด์ ํ ๋ ์ฌ์ฉํ๋ค. - ์ํค ๋ฐฑ๊ณผ - ์ฆ, ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฐ์ด ํฐ ๋ฌธ์ ๋ฅผ ์๊ฒ ์ชผ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋ค.. 2021. 12. 9. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์คํฐ์ปค ๋ชจ์ผ๊ธฐ(2) Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํฐ์ปค ๋ชจ์ผ๊ธฐ(2) N๊ฐ์ ์คํฐ์ปค๊ฐ ์ํ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๋ค์ ๊ทธ๋ฆผ์ N = 8์ธ ๊ฒฝ์ฐ์ ์์์ ๋๋ค. ์ํ์ผ๋ก ์ฐ๊ฒฐ๋ ์คํฐ์ปค์์ ๋ช ์ฅ์ ์คํฐ์ปค๋ฅผ ๋ฏ์ด๋ด์ด ๋ฏ์ด๋ธ ์คํฐ์ปค์ ์ ํ ์ซ์์ ํฉ์ด ์ต๋๊ฐ ๋๋๋ก programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ DP(Dynamic Programming)์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. 1. ์คํฐ์ปค์ ๊ฐฏ์๊ฐ 3๊ฐ ์ดํ๋ผ๋ฉด ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํํ๋ค. ์คํฐ์ปค์ ๊ฐฏ์๊ฐ 3๊ฐ ์ดํ๋ผ๋ฉด ํ๋๋ฐ์ ๋ ์ ์์ผ๋ฏ๋ก ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํํฉ๋๋ค. if sticker.count < 4 { return sticker.max()!} 2. ์ฒซ ๋ฒ์งธ ์คํฐ์ปค๋ฅผ ๋ฏ์ด๋์ ๊ฒฝ์ฐ์ ๋ ๋ฒ์งธ ์คํฐ์ปค๋ฅผ ๋ฏ์ด๋์ ๊ฒฝ์ฐ์ dp๋ฅผ ๋ง๋ค์ด์ค๋๋ค. var dp1:.. 2021. 10. 19. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ