๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ25

[Swift] 2019 KAKAO BLIND RECRUITMENT ๋งค์นญ ์ ์ˆ˜ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋งค์นญ ์ ์ˆ˜ ๋งค์นญ ์ ์ˆ˜ ํ”„๋ Œ์ฆˆ ๋Œ€ํ•™๊ต ์กฐ๊ต์˜€๋˜ ์ œ์ด์ง€๋Š” ํ—ˆ๋“œ๋ ›์ผ๋งŒ ์‹œํ‚ค๋Š” ๋„ค์˜ค ํ•™๊ณผ์žฅ๋‹˜์˜ ๋งˆ์ˆ˜์—์„œ ๋ฒ—์–ด๋‚˜, ์นด์นด์˜ค์— ์ž…์‚ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ‰์†Œ์— ๊ด€์‹ฌ์žˆ์–ดํ•˜๋˜ ๊ฒ€์ƒ‰์— ๋งˆ์นจ ๊ฒฐ์›์ด ๋ฐœ์ƒํ•˜์—ฌ, ๊ฒ€์ƒ‰๊ฐœ๋ฐœํŒ€ programmers.co.kr Solution 1. ํŽ˜์ด์ง€์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๋ช‡๋ฒˆ์งธ ์ธ๋ฑ์Šค์ธ์ง€,์ž์‹ ์˜ url,์ด ์ ์ˆ˜,์™ธ๋ถ€ ๋งํฌ๋ฅผ ํ”„๋กœํผํ‹ฐ๋กœ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. struct Page { var index:Int, url:String,score:Double,externalLinks:[String] } 2. " Int { for pageInfo in pageInfos { for link in pageInfo.externalLinks { if let index = p.. 2021. 9. 4.
[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] 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‰ฝ ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž ๊ฐœ๋ฐœํŒ€ ๋‚ด์—์„œ ์ด๋ฒคํŠธ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” "๋ฌด์ง€"๋Š” ์ตœ๊ทผ ์ง„ํ–‰๋œ ์นด์นด์˜ค์ด๋ชจํ‹ฐ์ฝ˜ ์ด๋ฒคํŠธ์— ๋น„์ •์ƒ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹น์ฒจ์„ ์‹œ๋„ํ•œ ์‘๋ชจ์ž๋“ค์„ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‘๋ชจ์ž๋“ค์„ ๋”ฐ๋กœ ๋ชจ์•„ ๋ถˆ๋Ÿ‰ programmers.co.kr Solution 1. ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž์™€ ์œ ์ € ์•„์ด๋””๋ฅผ ๋น„๊ตํ•œ๋‹ค. func isEqual(userId:String,bannedId:String) -> Bool { if userId.count != bannedId.count { return false } let uid = userId.map{String($0)} let bid = bannedId.map{String($0)} for (i,b) in bid.enumerated() { if b != "*" &.. 2021. 6. 26.
[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.
728x90
๋ฐ˜์‘ํ˜•