[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] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง 3์ฃผ์ฐจ ํผ์ฆ ์กฐ๊ฐ ์ฑ์ฐ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - 3์ฃผ์ฐจ [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr Solution 1. ๊ฒ์๋ณด๋์ ํ
์ด๋ธ์ ํผ์ฆ ์กฐ๊ฐ๋ค์ ์ฐพ๋๋ค. ๊ฒ์๋ณด๋์ ํ
์ด๋ธ์ ํผ์ฆ ์กฐ๊ฐ๋ค์ ์ฐพ๊ธฐ ์ํด์ BFS ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ ๋ฉ๋๋ค. ๊ฒ์๋ณด๋๋ฅผ ํ์ํ ๋ ๋ง์ฝ 0์ ๋ง๋๊ฒ ๋์๋ค๋ฉด ๊ทธ ์ฃผ๋ณ ์ผ์ชฝ,์ค๋ฅธ์ชฝ,์,์๋๊ฐ 0..
2021. 8. 20.
[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] 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 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ํ ํธ์ง 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.