[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] 2020 KAKAO BLIND RECRUITMENT ๊ธฐ๋ฅ๊ณผ ๋ณด ์ค์นํ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ธฐ๋ฅ๊ณผ ๋ณด ์ค์น 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr Solution 1. ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ์ ํฉํ์ง ํ์ธํ๋ค. ๋ฐ๋ฅ,๊ธฐ๋ฅ ์,๋ณด์ ์์ผ ๊ฒฝ์ฐ ์ค์นํ ์ ์์ต๋๋ค. func checkRightPillars(x:Int,y:In..
2021. 8. 13.
[Swift] 2021 KAKAO INTERNSHIP ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr Solution 1. ์์์์ ์์น๋ฅผ ํ์
ํ๋ค. func getSeatLocation(places:[String],xMap:inout [[String]],applicants:in..
2021. 8. 7.
[Swift] 2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ์
ํ๋ฒ์ค
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - [1์ฐจ] ์
ํ๋ฒ์ค 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr Solution 1.timetable์ ์ ์ ์๊ฐ ์์ผ๋ก ์ ๋ ฌํ๋ค. var times:[Int] = timetable.map{Int($0.split(separator: ":")[0])!*60 + Int($0.split(separator: ":")[1])!}.sorted(by:
2021. 8. 6.
[Swift] 2020 KAKAO INTERNSHIP ๋ณด์ ์ผํ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๋ณด์ ์ผํ ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ๋์
๋๋ฆฌ์ ํฌํฌ์ธํธ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. 1.Set๋ฅผ ์ด์ฉํด ๋ชจ๋ ๋ณด์์ ๊ฐ์๋ฅผ ์ธ์ค๋๋ค. Set(gems)์ ๊ฐ์๋ฅผ ์ธ์ค๋๋ค. 2. ํฌ์ธํฐ ๋ ๊ฐ(First,Last)๋ฅผ ์ฒซ๋ฒ์งธ๋ก ์ธํ
ํด์ค๋๋ค. 3. ๋์
๋๋ฆฌ๋ฅผ ์ด์ฉํด ๋ณด์์ ์ ์ฅํด์ค๋๋ค. ๋ณด์์ ์ด๋ฆ์ key๊ฐ์ผ๋ก ๋ณด์์ ์์น๋ฅผ value๊ฐ์ผ๋ก ์ ์ฅํด์ค๋๋ค. ex) ["DIA":[0,3,4,7],"RUBY":[1,2],"EMERALD":[5]] 4.๋ชจ๋ ๋ณด์์ด ์๋์ง ์๋์ง ํ์ธ ํ ํฌ์ธํฐ๋ฅผ ์ด๋ํด์ค๋๋ค. ๋ชจ๋ ..
2021. 8. 4.
[Swift] 2020 KAKAO BLIND RECRUITMENT ๋ธ๋ก ์ด๋ํ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๋ธ๋ก ์ด๋ํ๊ธฐ [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ BFS๋ก ํ์ด์ผํ๋ ๋ฌธ์ ์
๋๋ค. 1. ํ์ฌ ์์น, ์์ง์ผ ๋ช
๋ น, ๋ฐฉํฅ์ ์ด๊ธฐํํด์ค๋๋ค. struct Current { var x:Int,y:Int,d:Direction,count:Int,past:Command } enum Command:CaseIterable { case up,down,left,right,rotateClockwise,rotateAntiClockwise,rotateClockwise2,rotateAntiClockwise2 } enum D..
2021. 8. 3.
[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 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด ๋ค์ค์ ํ๋ก๋๊ฐ ์ซ์๋์ด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ค์ค๊ฐ ํ๋ก๋์๊ฒ ์ซ์๋ฅผ ๊ฑด๋ฌ ๋ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พผ ์นด๋๋ฅผ ๊ฑด๋ค์ฃผ๋ฉด ํ๋ก๋๋ ์๋ ์ซ์๋ฅผ ์ฐพ๋ ๊ฒ์์
๋๋ค. ๋ค์์ ์ซ์์ ์ผ๋ถ ์ programmers.co.kr Solution 1. ์๋จ์ด ์ค 2๋ฒ์งธ๊น์ง๋ฅผ key๊ฐ์ผ๋ก ํ๊ณ value๊ฐ์ผ๋ก ์๋จ์ด์ ๊ธธ์ด์ ์๋ฏธํ๋ ์ซ์๋ฅผ ์ ์ฅํ๋ค. let allNumber = ["ze":[4,0],"on":[3,1],"tw":[3,2],"th":[5,3],"fo":[4,4],"fi":[4,5],"si":[3,6],"se":[5,7],"ei":[5,8],"ni":[4,9]] 2. s๋ฅผ ์ํํ๋ฉด์ ์ซ์์ธ ๊ฒฝ์ฐ์ ๋ฌธ์์ธ ๊ฒฝ์ฐ๋ก ์ ๋ต์ ์์ฑํ๋ค. ๋ฌธ์๊ฐ ์ซ์์ธ ๊ฒฝ์ฐ a..
2021. 7. 18.
[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.
[Swift] 2021 KAKAO BLIND RECRUITMENT ๊ด๊ณ ์ฝ์
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ด๊ณ ์ฝ์
์๊ฐ์ ๋ํ๋ด๋ HH, H1, H2์ ๋ฒ์๋ 00~99, ๋ถ์ ๋ํ๋ด๋ MM, M1, M2์ ๋ฒ์๋ 00~59, ์ด๋ฅผ ๋ํ๋ด๋ SS, S1, S2์ ๋ฒ์๋ 00~59๊น์ง ์ฌ์ฉ๋ฉ๋๋ค. ์๋ชป๋ ์๊ฐ์ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง์ง ์์ต๋๋ค. (์: 04:60:24, 11 programmers.co.kr Solution ํต์ฌ 1. ๋ชจ๋ ์๊ฐ์ ์ด๋ก ํ์ฐํ๊ธฐ ์ด ์ฌ์์๊ฐ, ๊ด๊ณ ์๊ฐ, ์์ฒญ์๋ค์ด ์ฌ์์ ์์ํ ์๊ฐ, ์์ฒญ์๋ค์ด ์ฌ์์ ๋๋ธ ์๊ฐ์ ๋ชจ๋ ์ด๋ก ํ์ฐํฉ๋๋ค. ex) ์ด ์ฌ์์๊ฐ์ด 1์๊ฐ 11๋ถ 11์ด ์ด๋ผ๋ฉด -> 60๋ถ 11๋ถ 11์ด -> 3600์ด + 660์ด + 11์ด = 4271์ด (์๋ Source Code์์ makeSeconds ํจ์๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.) 2.์ด..
2021. 4. 11.