[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1 ํ์ ํฐ๋จ๋ฆฌ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํ์ ํฐํธ๋ฆฌ๊ธฐ[-16,27,65,-2,58,-92,-71,-68,-61,-33] 6programmers.co.krSolution ์ด ๋ฌธ์ ์ ํต์ฌ์ ์ด๋ค ํ์ ์ด ์ ๋๋ก ํฐ๋จ๋ฆด ์ ์๋ ํ์ ์ธ๊ฐ์
๋๋ค. ๊ท์น์ ๊ฐ๋จํ ์ค๋ช
๋๋ฆฌ๋ฉด ์ธ์ ํ ๋ ํ์ ์ ๊ณจ๋ผ์ ํฐ๋จ๋ฆฌ๋๋ฐ ์์ ๋ณด๋ค ์ซ์๊ฐ ํฐ ํ์ ์ ๋ง์๋๋ก ํฐ๋จ๋ฆด ์ ์์ง๋ง ์๊ธฐ๋ณด๋ค ์ซ์๊ฐ ์์ ํ์ ์ ๋ฑ 1๋ฒ๋ง ํฐ๋จ๋ฆด ์ ์์ต๋๋ค. ๊ณ ๋ก ์ ๋๋ก ํฐ๋จ๋ฆด ์ ์๋ ํ์ ์ ํฐ๋จ๋ฆฌ๋ ํ์ ์ ๊ธฐ์ค์์ ์ผ์ชฝ์ ์๋ค ์ค ๊ฐ์ฅ ์์ ์๊ฐ ํ์ฌ ํฐ๋จ๋ฆฌ๋ ค๊ณ ํ๋ ํ์ ๋ณด๋ค ํฌ๊ณ ํฐ๋จ๋ฆฌ๋ ํ์ ์ ๊ธฐ์ค์์ ์ค๋ฅธ์ชฝ ์๋ค ์ค ๊ฐ์ฅ ์์ ์๊ฐ ํ์ฌ ํฐ๋จ๋ฆฌ๋ ค๊ณ ํ๋ ํ์ ๋ณด๋ค ํฐ ๊ฒฝ์ฐ์
๋๋ค. ์ฆ, ํ์ฌ ํ์ ๊ธฐ์ค ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ๊ฐ์ฅ ์์ ์ 2๊ฐ๊ฐ ๋ชจ๋ ํ์ฌ ํ..
2021. 4. 4.
[Swift] 2021 KAKO BLIND RECUITMENT ํฉ์น ํ์ ์๊ธ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํฉ์น ํ์ ์๊ธ 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ Floyd Warshall ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค. 1. ๋ชจ๋ ์ง์ ์ฐ๊ฒฐํ๊ธฐ ์ฐ์ ๋ชจ๋ ์ง์ ์ ๋ํ ์ฐ๊ฒฐ์ ์ ์์์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก..
2021. 3. 27.
[Swift] 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ(Youtube ํ์ดํฌํจ)
Youtube ํ์ด Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr Solution board๋ฅผ ๊ฐ index์ ์๋ ์ซ์๋ค๋ก ๊ตฌ์ฑํด์ array ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋ค. array์์ 0์ ์์ ์ค๋๋ค. ๋ฝ์ ์ซ์๋ค์ ๋ด์ basket ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋๋ค. moves์์ ์๋ ์ซ์๋ค์ array index์ด๋ฏ๋ก array์ index๋ฒ์งธ์์ ์ฒซ๋ฒ์งธ ์ซ์๋ฅผ ์ ๊ฑฐํด์ค๋๋ค. array์ ๋งจ ์ฒซ๋ฒ์งธ ์ซ์์ basket์ ๋งจ ๋ง์ง๋ง ์ซ์๋ฅผ ๋น๊ตํ์ฌ ๋ง์ฝ ๊ฐ๋ค๋ฉด basket์ ๋งจ ๋ง์ง๋ง ์ซ์๋ฅผ ์ ๊ฑฐํด์ฃผ๊ณ count๋ฅผ +2 ํด์ค๋๋ค. So..
2021. 3. 26.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ๊ฐ์ฅ ๋จผ ๋
ธ๋ (์ฌ์ด ํ์ด ํฌํจ)
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ฐ์ฅ ๋จผ ๋
ธ๋ 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ BFS๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. 1๋ถํฐ ์์ํด์ 1๊ณผ ์ฐ๊ฒฐ๋ ์ซ์๋ค ๊ทธ๋ฆฌ๊ณ ์ฐ๊ฒฐ๋ ์ซ์๋ค๊ณผ ์ฐ๊ฒฐ๋ ์ซ์๋ค์ ๋์ดํด์ค๋๋ค. ๋์ดํ๋ฉด ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋ ๊ฒ์
๋๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ํ ๋ผ์ธ์ด ์ฐ๊ฒฐ๋ ๋๋ง๋ค ๋ผ์ธ์ ์ซ์๋ฅผ ๋๋ ค๊ฐ์ค๋๋ค. ์ ๊ทธ๋ฆผ์์ ์ผ์ชฝ ํ๋์ ์ซ์ ๋ชจ์์ ์ฐธ๊ณ ํด์ฃผ์ธ์. ํ์ง๋ง ๋ผ์ธ 2๊น์ง ์์ ๋ ๋ฌธ์ ์ ์ด ์๊ธฐ๋๋ฐ์. 2์ ์ฐ๊ฒฐ๋ 1,3,4,5 ์ค์์ 1๊ณผ 3์ ๊ฐ ํ์๊ฐ ์์ต๋๋ค. ์๋ํ๋ฉด ์ด๋ฏธ ์์์ ์ฐ๊ฒฐ์ ๋ง๋ค์ด์ค ์ซ์๋ค์ด๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ด๋ฏธ ..
2021. 3. 7.
[Swift] 2020 KAKAO BLIND RECRUITMENT ์๋ฌผ์ ์ ์ด์
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์๋ฌผ์ ์ ์ด์ [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr Solution ์๋ฌผ์ ์ ์ด์ ์ ๊ตฌ๋ฉ์ ๋น๊ตํ์ง ์๊ณ ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋จผ์ ์ฒ๋ฆฌํด์ค๋๋ค. 1.์๋ฌผ์ ์ ๊ตฌ๋ฉ๊ณผ ์ด์ ์ ๋๊ธฐ๊ฐ ๊ฐ ๊ฐ 1๊ฐ์ผ ๊ฒฝ์ฐ True 2.์๋ฌผ์ ์ ๊ตฌ๋ฉ์ด ์ด์ ์ ๋๊ธฐ๋ณด๋ค ๋ง์ ๊ฒฝ์ฐ False ๋ง์ฝ 2๊ฐ์ ๊ฒฝ์ฐ ๋ชจ๋ ํด๋นํ์ง ์๋๋ค๋ฉด ์๋ฌผ์ ์ ์ด์ ์ ๊ฐ ๊ตฌ๋ฉ๊ณผ ๋๊ธฐ๊ฐ ์ด๋ ๋ถ๋ถ์ ์๋์ง๋ฅผ ์์๋ด์ผ ํ๋๋ฐ์. ๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ์์๋ด์ผ ํ ๊น์? ์ ๋ ์๋์ ๊ฐ์ด ์๋ฌผ์ ์ ์ด์ ๋ฅผ X,Y ์ขํ๋ก ์๊ฐ์ ํด๋ณด์์ต๋๋ค. ์ง๋ฌธ์ ๋์ ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ด์ ๋๊ธฐ๋ (0,1),(..
2021. 3. 1.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ฌ ์ฐ๊ฒฐํ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์ฌ ์ฐ๊ฒฐํ๊ธฐ 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ Greedy ๋ฌธ์ ์
๋๋ค. ๊ทธ ์ค์์๋ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ์ด์ผํ๋ ๋ฌธ์ ์
๋๋ค. ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ด๋?๐ค "์ปดํจํฐ ๊ณผํ์์, ํฌ๋ฌ์ค์ปฌ ์๊ณ ๋ฆฌ์ฆ(์์ด: Kruskal’s algorithm)์ ์ต์ ๋น์ฉ ์ ์ฅ ๋ถ๋ถ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ณ์ ๊ฐ์๋ฅผ {\displaystyle E}E, ๊ผญ์ง์ ์ ๊ฐ์๋ฅผ {\displaystyle V}V๋ผ๊ณ ํ๋ฉด ์ด ์๊ณ ๋ฆฌ์ฆ์ {\displaystyle {\color {Blue}O}(E\log V)}{\color {Blue}O}(E\log V)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค." ์ํค๋ฐฑ๊ณผ์ ์ด๋ ๊ฒ..
2021. 2. 20.