[Swift] 2019 KAKAO BLIND RECRUITMENT ๊ธธ ์ฐพ๊ธฐ ๊ฒ์
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ธธ ์ฐพ๊ธฐ ๊ฒ์ [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ "์ด์งํธ๋ฆฌ " ๋ฌธ์ ์
๋๋ค. ์ด์ง ํธ๋ฆฌ๋ ๊ฐ๊ฐ์ ๋
ธ๋๊ฐ ์ต๋ ๋ ๊ฐ์ ์์ ๋
ธ๋์ ๊ฐ์ง๊ณ ์๊ณ ์ผ์ชฝ ์์ ๋
ธ๋์ ์ค๋ฅธ์ชฝ ์์ ๋
ธ๋๋ผ๊ณ ํ๋ค. 1. ์ด๊ธฐ์ ํ์ํ ๋ณ์๋ค์ ์ธํ
ํด์ค๋๋ค. //๋ถ๋ชจ์ ์์์ ๋ด์ ์ด์ค๋ฐฐ์ด var parentsChildren:[[Int]] = Array(repeating: [], count: nodeinfo.count + 1) //๊ฐ ๋
ธ๋์ ๋ฒ์๋ค์ ๋ด์ ๋ฐฐ์ด var ranges = Array(r..
2021. 6. 11.
[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.