[Swift] 2020 KAKAO INTERNSHIP ๊ฒฝ์ฃผ๋ก ๊ฑด์ค
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ฒฝ์ฃผ๋ก ๊ฑด์ค [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ DFS๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. 1. ์๋์ฐจ์ ์ํ์ข์ฐ ๋ฐฉํฅ ๋ชจ๋ธ์ ๋ง๋ค์ด์ค๋ค. (ํ์๋ ์๋) ์๋์ฐจ์ ํ์ํ x,y,price,prev์ ์..
2021. 8. 31.
[Swift] 2019 KAKAO WINTER INTERNSHIP ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ์ด์งํ์์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. 1. stones์ ์ซ์๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๋ค ์ค๋ณต ์ซ์๋ฅผ ์ ๊ฑฐํ๋ค. stones๋ฅผ Set๋ก ๋ง๋ค๊ณ sorted ๋ฉ์๋๋ก ์ ๋ ฌํด์ค๋๋ค. (sort๋ผ๊ณ ๋ถ๋ฅด๊ฒ ์ต๋๋ค.) (ex [1,1,5,3,2,2] -> [1,2,3,5]) 2. ๊ฑด๋ ์ ์๋์ง ์๋์ง ์ฒดํฌํฉ๋๋ค. 0์ดํ์ ์ซ์์ ์ฐ์๋ ๊ฐฏ์๊ฐ k๋ณด๋ค ๊ฐ๊ฑฐ๋ ํฌ๋ค๋ฉด ๊ฑด๋ ์ ์๋ ์ง๊ฒ๋ค๋ฆฌ์
๋๋ค. (ex [-1, 0, -2, 1, 0] -> ์ฐ์๋ 0์ดํ ๊ฐฏ์๋ 3) 3. sort๋ฅผ ์ด์งํ์ ์ด์ง ํ์์ผ๋ก sort์์ ์ซ์ ์ค ๊ฑด๋ ์ ์๋ ๊ฐ์ฅ ์ต..
2021. 7. 23.
[Swift] 2021 KAKAO INTERNSHIP ํํธ์ง
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํ ํธ์ง 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ Linked List ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํด์ ํ์ด์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. 1. 0๋ถํฐ n๊น์ง ์๊ธฐ ์ด์ ์ ์ซ์์ ๋ค์ ์ซ์๋ฅผ ๋ฐฐ์ด์ ๋ด์๋์ต๋๋ค. func setLinkedList(n:Int) { for i in 0.. Int { return linkedList[index][0] } func next(_ index:Int) -> Int{ return linkedList[inde..
2021. 7. 18.
[Algorithm] ์์ด(Permutation)์ด๋? (feat.Swift)
์๋
ํ์ธ์ Foma ๐ ์
๋๋ค! ์ค๋์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ ์ ๋ง ๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๋ "์์ด"์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์! ์์ด์ด๋? ์๋ก ๋ค๋ฅธ n๊ฐ์ ์์์์ r๊ฐ๋ฅผ ์ค๋ณต์์ด ๊ณจ๋ผ ์์์ ์๊ด์๊ฒ ๋์ดํ๋ ๊ฒ์ ์ด๋ฅธ๋ค. - ๋๋ฌด ์ํค - ์ฝ๊ฒ ์ค๋ช
ํ๋ฉด ์ค ์ธ์ฐ๊ธฐ์ ๋๊ฐ์์. A,B,C๋ผ๋ ํ์์ ์ค ์ธ์ฐ๋ ๋ฐฉ๋ฒ์ ABC,ACB,BAC,BCA,CAB,CBA ๋ฑ์ด ์๊ฒ ์ฃ ? ์ด ์ค์์ 2๋ช
์ ํ์์ผ๋ก ์ค ์ธ์ฐ๋ ๋ฐฉ๋ฒ์ AB,AC,BA,BC,CA,CB ๋ฑ์ด ์์๊ฑฐ์์. ์ฝ๋ ๊ตฌํ ๊ฒฝ์ฐ์ ์๋ค์ ๋ด์ ์ด์ค ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋๋ค. var cases:[[Int]] = [] ๋ช ๊ฐ๋ฅผ ๋ฝ์์ง ์ ํด์ค๋๋ค. let pickCount = 3 ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ด ํจ์๋ฅผ ๋ง๋ค์ด์ค๋๋ค. ํ๋ผ๋ฏธํฐ๋ก๋ ์ ์ฒด ์ธ๋ฑ์ค๊ฐ ๋ด๊ธด..
2021. 6. 27.
[Swift] 2021 KAKAO BLIND RECRUITMENT ์นด๋ ์ง ๋ง์ถ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์นด๋ ์ง ๋ง์ถ๊ธฐ [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr Solution ๋ชจ๋ ์นด๋๋ฅผ ๋ค์ง๋ ์ต์ ์กฐ์ํ์๋ฅผ ์ฐพ์์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. (BFS๋ฅผ ๊ตฌํํ๋ ๋ฒ๊ณผ ์์ด๊ตฌํ๋ ๋ฒ์ ์์์ผ ๊ตฌํํ๊ธฐ ์์ํ์ค๊ฒ๋๋ค.) 1. ์นด๋๋ฅผ ๋ค์ง๋ ์์๋ฅผ ์ ํ๊ธฐ(์์ด ๊ตฌํ๋ ๋ฐฉ๋ฒ ์๊ธฐ) ๋ง์ฝ 1,2,3 ์นด๋๊ฐ ์๋ค๋ฉด 1 - 2 - 3, 1 - 3 - 2, 2 - 1 - 3... ๋ฑ์ผ๋ก ๋ค์ง์ ์ ์์ต๋๋ค. ์์ด์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ท ํจ์๋ฅผ ์ฌ์ฉํด ํด๋น ํ๋์ฉ ์ซ์๋ฅผ ์ง์๋๊ฐ๋ฉด์ depth์ ์ ์ฅํด์ค๋๋ค. ํ์ง๋ง ์นด๋๋ ๊ฐ ๊ฐ ..
2021. 4. 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.