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

๐Ÿ“– Problem Solution/Programmers175

2018 KAKAO BLIND RECRUITMENT [3์ฐจ] ์••์ถ• Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [3์ฐจ] ์••์ถ• TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr Solution 1. ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ๋‹ด๊ธด ๋ฐฐ์—ด -> var words = (64...90).map({"\(UnicodeScalar($0)!)"}) ์•„์Šคํ‚ค์ฝ”๋“œ 65๋ฒˆ๋ถ€ํ„ฐ 90๋ฒˆ๊นŒ์ง€๊ฐ€ A๋ถ€ํ„ฐ Z๋‹ค. ํ•˜์ง€๋งŒ ๋ฌธ์ œ์—์„œ๋Š” A์˜ ์ธ๋ฑ์Šค๋ฅผ 1๋กœ ํ–ˆ์œผ๋ฏ€๋กœ 64๋ฒˆ์งธ๋ถ€ํ„ฐ๋กœ ์„ค์ •ํ•จ. 2. words ์•ˆ์˜ ๋ฐฐ์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๋ฌธ์ž๊ธธ์ด์—์„œ 1์„ ๋บ€ ์ˆ˜- > var maxCount = 0 3. msg๋ฅผ map์œผ๋กœ ๋‚˜๋ˆ ์ค€ ๋ณ€์ˆ˜ -> let map = msg.map{String($0)} 4. ํ˜„์žฌ ๋ฌธ์ž์˜ ์ธ๋ฑ์Šค .. 2020. 11. 16.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ1 ์ด์ง„ ๋ณ€ํ™˜ Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ programmers.co.kr Solution ์ด์ง„๋ณ€ํ™˜ํ•œ ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ -> var radix = s 0์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ - > var zeroCount = 0 ํšŒ์ฐจ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ -> var turn = 0 while๋ฌธ์„ ์ด์šฉํ•ด ์ด์ง„๋ณ€ํ™˜ํ•œ ์ˆ˜(radix)๊ฐ€ 1์ด ๋ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ค๋‹ˆ๋‹ค. -> while radix != "1" { 0์„ ์ œ๊ฑฐํ•œ ์ˆ˜๋Š” ๊ณง ์ „์ฒด๋ฌธ์ž์—์„œ 1๋งŒ ํ•„ํ„ฐ๋งํ•œ ๊ธ€์ž์ด๋ฏ€๋กœ filter๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด 1๋งŒ ๊ฑธ๋Ÿฌ์ค๋‹ˆ๋‹ค. -> let one = radix.filter{ $0 == "1"} ์ „์ฒด๋ฌธ์ž์˜ ๊ธธ์ด์—์„œ 1์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๋บ€ ๊ฒƒ์ด 0์˜ ๊ฐฏ์ˆ˜์ด๋ฏ€๋กœ ๋บ€ ์ˆซ์ž๋ฅผ zeroCount์— ๋”ํ•ด์ค๋‹ˆ๋‹ค. 1์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ด์ง„๋ณ€ํ™˜ํ•ด์ค๋‹ˆ๋‹ค. - > rad.. 2020. 11. 15.
2018 KAKAO BLIND RECRUITMENT[1์ฐจ] ํ”„๋ Œ์ฆˆ4๋ธ”๋ก Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ํ”„๋ Œ์ฆˆ4๋ธ”๋ก ํ”„๋ Œ์ฆˆ4๋ธ”๋ก ๋ธ”๋ผ์ธ๋“œ ๊ณต์ฑ„๋ฅผ ํ†ต๊ณผํ•œ ์‹ ์ž… ์‚ฌ์› ๋ผ์ด์–ธ์€ ์‹ ๊ทœ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ์— ์ถœ์‹œํ•  ๊ฒŒ์ž„ ์ œ๋ชฉ์€ ํ”„๋ Œ์ฆˆ4๋ธ”๋ก. ๊ฐ™์€ ๋ชจ์–‘์˜ ์นด์นด์˜คํ”„๋ Œ์ฆˆ ๋ธ”๋ก์ด 2×2 ํ˜•ํƒœ๋กœ 4๊ฐœ๊ฐ€ ๋ถ™ programmers.co.kr Solution ๋จผ์ € ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์ „์— ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋“ค์€ ํผ์ฆ์ด ์‚ญ์ œ๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  remove Boolean๋ณ€์ˆ˜ -> var remove = true board ์•ˆ์˜ ๋ฌธ์ž๋ฅผ ์‰ฝ๊ฒŒ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด map์œผ๋กœ ๋ฐ”๊ฟ”์ค€ boards ๋ณ€์ˆ˜ -> var boardsCopy = boards boards์˜ ๊ฐ’์„ ์ €์žฅํ•  boardsCopy ๋ณ€์ˆ˜ -> var boards = board.map{$0.map{String($0)}} ๋นˆ์นธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ์…€.. 2020. 11. 14.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ๋Š”, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฌธ์ž์—ด์—์„œ ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์ด 2๊ฐœ ๋ถ™์–ด ์žˆ๋Š” ์ง์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ, ๊ทธ ๋‘˜์„ ์ œ๊ฑฐํ•œ ๋’ค, ์•ž๋’ค๋กœ ๋ฌธ์ž์—ด์„ ์ด์–ด ๋ถ™ programmers.co.kr Solution ๋นˆ ์Šคํƒ์„ ๋งŒ๋“ค์–ด๋†“๊ณ  for๋ฌธ์„ ์ด์šฉํ•ด ๋ฌธ์ž ์•ˆ์˜ ๊ธ€์ž๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ์Šคํƒ์ด ๋น„์–ด์žˆ๋‹ค๋ฉด ๊ธ€์ž๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ  ์•„๋‹ˆ๋ผ๋ฉด ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰ ๊ธ€์ž์™€ ํ˜„์žฌ ๊ธ€์ž๊ฐ€ ๊ฐ™์€์ง€ ๋น„๊ตํ•˜์—ฌ ๊ฐ™๋‹ค๋ฉด ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰์„ ์ œ๊ฑฐํ•ด์ฃผ๊ณ  ์•„๋‹ˆ๋ผ๋ฉด ์Šคํƒ์— ๋„ฃ์–ด์ค€๋‹ค. for๋ฌธ์„ ๋‹ค ๋Œ๊ณ  ๋‚˜์™”์„ ๋•Œ ์Šคํƒ์ด ๋น„์–ด์žˆ๋‹ค๋ฉด 1์„ ์•„๋‹ˆ๋ผ๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•ด์ค๋‹ˆ๋‹ค. + ๋งŒ์•ฝ ๋ฌธ์ž์˜ ์ˆ˜๊ฐ€ ํ™€์ˆ˜๊ฑฐ๋‚˜ ์•„์˜ˆ ์—†์„ ๊ฒฝ์šฐ๋Š” ๋ฌด์กฐ๊ฑด ์‹คํŒจ์ด๋ฏ€๋กœ 0์„ ๋ฐ˜ํ™˜ํ•ด์ค๋‹ˆ๋‹ค. Source Code ์ฐธ์กฐ 201.. 2020. 11. 12.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ 1 ์ฟผ๋“œ์••์ถ• ํ›„ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ฟผ๋“œ์••์ถ• ํ›„ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr Solution 1. ์ฃผ์–ด์ง„ ๋ฐฐ์—ด ์•ˆ์— ๋ชจ๋“  ์ˆซ์ž๊ฐ€ ๊ฐ™์€์ง€ ํ™•์ธ ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋น„๊ตํ•ด ํ•œ๋ฒˆ๋„ ๊ฐ™์ง€ ์•Š์€๊ฒŒ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž์ด๋‹ค. isAllEqual() ํ•จ์ˆ˜ ์ฐธ์กฐ 2. ๊ฐ™๋‹ค๋ฉด ๋งจ์ฒ˜์Œ ์ˆซ์ž๋ฅผ answer ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค€๋‹ค. answer... 2020. 11. 5.
2018 KAKAO BLIND RECRUITMENT [3์ฐจ] n์ง„์ˆ˜ ๊ฒŒ์ž„ Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [3์ฐจ] n์ง„์ˆ˜ ๊ฒŒ์ž„ N์ง„์ˆ˜ ๊ฒŒ์ž„ ํŠœ๋ธŒ๊ฐ€ ํ™œ๋™ํ•˜๋Š” ์ฝ”๋”ฉ ๋™์•„๋ฆฌ์—์„œ๋Š” ์ „ํ†ต์ ์œผ๋กœ ํ•ด์˜ค๋Š” ๊ฒŒ์ž„์ด ์žˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋‘ฅ๊ธ€๊ฒŒ ์•‰์•„์„œ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ๋งํ•˜๋Š” ๊ฒŒ์ž„์ธ๋ฐ, ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ˆซ์ž๋ฅผ 0 programmers.co.kr Solution ์šฐ์„  ์ˆซ์ž๋ฅผ n์ง„์ˆ˜๋กœ ๋ฐ”๊พผ String์„ ๋‹ด์„ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. -> var array = [String]() ๊ทธ ๋‹ค์Œ ๋ฏธ๋ฆฌ ์ถœ๋ ฅํ•  ์ˆซ์ž๋“ค์„ ๋‹ด์„ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. - > var answer = [String]() ์ฐจ๋ก€๋Œ€๋กœ ์ˆซ์ž๋ฅผ ๊ธฐ์–ตํ•  ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. - > var i = 0 ๋ช‡๋ฒˆ์งธ ์ฐจ๋ก€์ธ์ง€ ๊ธฐ๋กํ•  ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.(index๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋ฏ€๋กœ ์ดˆ๊ธฐ๊ฐ’์„ ์ž์‹ ์˜ ์ˆœ์„œ์—์„œ -1 ํ•ด์ค๋‹ˆ๋‹ค.) -> va.. 2020. 11. 2.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ์ฐพ๊ธฐ Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ์ฐพ๊ธฐ [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr Foma's ํ’€์ด ๋ฌธ์ œํ’€์ด ์ด ๋ฌธ์ œ๋Š” ๋™์ ๊ณ„ํš๋ฒ•(Dynamic Programming)์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋™์ ๊ณ„ํš๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” dojinkimm.github.io/algorithm/2019/10/17/dp-1.html ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Dynamic Programming(๋™์  ๊ณ„ํš๋ฒ•)์ด๋ž€? Dynamic Programming(๋™์  ๊ณ„ํš๋ฒ•) dojinkimm.github.io ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…๋“œ๋ฆฌ๋ฉด board์•ˆ์˜ ์ˆซ์ž๋ฅผ ์ฐจ๋ก€๋กœ ๋Œ๋ฉด์„œ n๊ณผ ๊ฐ™์€ ์—ด์—์„œ ์œ—์ชฝ ํ–‰์˜ ์ˆ˜,์ž์‹ ๋ณด๋‹ค ํ•˜๋‚˜ ์•ž์„  ์—ด์—์„œ ์œ—์ชฝ์˜ ์ˆ˜, ์ž์‹ ๊ณผ ๊ฐ™์€ ํ–‰์—์„œ ํ•˜๋‚˜ ์•ž์„  ์ˆ˜ ์ฆ‰,์ž์‹ .. 2020. 10. 23.
2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง ์—ฌ๋Ÿฌ ์–ธ๋ก ์‚ฌ์—์„œ ์Ÿ์•„์ง€๋Š” ๋‰ด์Šค, ํŠนํžˆ ์†๋ณด์„ฑ ๋‰ด์Šค๋ฅผ ๋ณด๋ฉด ๋น„์Šท๋น„์Šทํ•œ ์ œ๋ชฉ์˜ ๊ธฐ์‚ฌ๊ฐ€ ๋งŽ์•„ ์ •์ž‘ ํ•„์š”ํ•œ ๊ธฐ์‚ฌ๋ฅผ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. Daum ๋‰ด์Šค์˜ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ๋งก๊ฒŒ ๋œ ์‹ ์ž…์‚ฌ์› ํŠœ๋ธŒ๏ฟฝ๏ฟฝ programmers.co.kr Foma's ํ’€์ด ๋ฌธ์ œํ’€์ด ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์ž์นด๋“œ ์œ ์‚ฌ๋„๋ฅผ ํ†ตํ•ด ๋‘ ๋ฌธ์žฅ์„ ๋น„๊ตํ•ด ๊ทธ์— ๋”ฐ๋ฅธ ์œ ์‚ฌ๋„ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ธ๋ฐ์š”, ๊ทธ๋ ‡๋‹ค๋ฉด ์ž์นด๋“œ ์œ ์‚ฌ๋„๊ฐ€ ๋ฌด์—‡์ผ๊นŒ์š”? ์ž์นด๋“œ ์œ ์‚ฌ๋„๋ž€ ๋ฌธ์„œ์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ๋ฐ์š”. ์šฐ์„  ์˜ˆ์‹œ๋กœ ์„ค๋ช… ๋“œ๋ฆฌ๋ฉด ๋‘ ๋ฌธ์žฅ A : [์•ˆ๋…• ๋‚˜๋Š” ํฌ๋งˆ์•ผ, iOS ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์น˜ํ‚จ์„ ์ข‹์•„ํ•ด ์‚ฌ๋Š” ๊ณณ์€ ์„œ์šธ์— ์žˆ๋Š” ํ™๋Œ€์•ผ ] ์™€ B : [์•ˆ๋…•, ๋‚˜๋Š” ๋งˆํฌ์•ผ. iOS ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ํ”ผ์ž๋ฅผ ์ข‹์•„ํ•ด. ์‚ฌ๋Š” ๊ณณ์€ ์„œ์šธ์—.. 2020. 10. 20.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜ ๋งŒ๋“ค๊ธฐ Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์†Œ์ˆ˜ ๋งŒ๋“ค๊ธฐ ์ฃผ์–ด์ง„ ์ˆซ์ž ์ค‘ 3๊ฐœ์˜ ์ˆ˜๋ฅผ ๋”ํ–ˆ์„ ๋•Œ ์†Œ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๋“ค์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด nums๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, nums์— ์žˆ๋Š” ์ˆซ์ž๋“ค ์ค‘ ์„œ๋กœ ๋‹ค๋ฅธ 3๊ฐœ๋ฅผ ๊ณจ๋ผ ๋”ํ–ˆ์„ ๋•Œ ๏ฟฝ programmers.co.kr Foma's ํ’€์ด ๋ฌธ์ œํ’€์ด 1. ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ ๋•Œ์˜ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ ๋•Œ์˜ ๊ฒฝ์šฐ๋Š” 1๊ณผ ์ž์‹ ์„ ์ œ์™ธํ•œ ์ˆซ์ž๋กœ n์„ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 2. ๋‹ค์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ค‘๋ณต์—†๋Š” 3๊ฐœ์˜ ์ˆซ์ž์˜ ํ•ฉ์„ ์ฐจ๋ก€๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๊ฐ€? ๋จผ์ € ์ฒซ๋ฒˆ์งธ์ˆ˜ ๋‘๋ฒˆ์งธ์ˆ˜ ์„ธ๋ฒˆ์งธ์ˆ˜๋ฅผ ์ •ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ์ˆ˜๋Š” 0๋ถ€ํ„ฐ nums์˜ -3๋ฒˆ์งธ๊นŒ์ง€ ์ฐจ๋ก€๋กœ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. (.. 2020. 10. 19.
2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ์บ์‹œ Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ์บ์‹œ 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S programmers.co.kr Foma's ํ’€์ด ๋ฌธ์ œํ’€์ด ๋จผ์ € ์ฒซ๋ฒˆ์งธ๋กœ LRU๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ด์•ผํ• ํ…๋ฐ์š”. LRU๋ž€? -> Least Recently Used ๊ฐ€์žฅ ์ตœ๊ทผ์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ต์ฒดํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์ฆ‰,.. 2020. 10. 17.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ โ–ณโ–ณ ๊ฒŒ์ž„๋Œ€ํšŒ๊ฐ€ ๊ฐœ์ตœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋Œ€ํšŒ๋Š” N๋ช…์ด ์ฐธ๊ฐ€ํ•˜๊ณ , ํ† ๋„ˆ๋จผํŠธ ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. N๋ช…์˜ ์ฐธ๊ฐ€์ž๋Š” ๊ฐ๊ฐ 1๋ถ€ํ„ฐ N๋ฒˆ์„ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์ •๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒˆ↔2๋ฒˆ, 3๋ฒˆ↔4๋ฒˆ, ... , N-1๋ฒˆ↔N๏ฟฝ programmers.co.kr Foma's ํ’€์ด ๋ฌธ์ œํ’€์ด ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ A์™€ B๊ฐ€ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ์„ ๋•Œ์˜ ๊ทœ์น™์„ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. A์™€ B๊ฐ€ ๋งŒ๋‚˜๊ฒŒ ๋  ๊ฒฝ์šฐ๋Š” A์™€ B ์ค‘ ํ™€์ˆ˜์— +1์„ ํ•ด์ค€ ๊ฐ’์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ์ค€ ๊ฐ’๊ณผ ์ง์ˆ˜๋ฅผ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ์ค€ ๊ฐ’์ด ๊ฐ™์„ ๋•Œ์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ ์•Œ์•„๋ณด๋ฉด A์™€ B๊ฐ€ ๋งŒ๋‚˜๊ฒŒ ๋  ๊ฒฝ์šฐ 1๋ฒˆ๊ณผ 2๋ฒˆ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์˜€์„ ๋•Œ ํ™€์ˆ˜ -> 1์— 1์„ ๋”ํ•ด์ฃผ๊ณ  -> 2๋ฅผ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ์ค€๊ฐ’ -> 1 ์ง์ˆ˜ -> 2๋ฅผ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ์ค€ ๊ฐ’ -> 1์ด ๊ฐ™์„ ๊ฒฝ์šฐ ์ž…๋‹ˆ๋‹ค. ์ฝ”.. 2020. 10. 17.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ ํ”„์™€ ์ˆœ๊ฐ„์ด๋™ Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™ OO ์—ฐ๊ตฌ์†Œ๋Š” ํ•œ ๋ฒˆ์— K ์นธ์„ ์•ž์œผ๋กœ ์ ํ”„ํ•˜๊ฑฐ๋‚˜, (ํ˜„์žฌ๊นŒ์ง€ ์˜จ ๊ฑฐ๋ฆฌ) x 2 ์— ํ•ด๋‹นํ•˜๋Š” ์œ„์น˜๋กœ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์•„์ด์–ธ ์ŠˆํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜์—ฌ ํŒ๋งคํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์•„์ด์–ธ ์Šˆ๏ฟฝ programmers.co.kr Foma's ํ’€์ด ๋ฌธ์ œ์„ค๋ช… ์ ํ”„ 1์นธ์ด๋™ ๊ฑด์ „์ง€ ์†Œ๋ชจ 1 ์ˆœ๊ฐ„์ด๋™ ํ˜„์žฌ๊นŒ์ง€ ์˜จ๊ฑฐ๋ฆฌ์˜ *2 ๊ฑด์ „์ง€ ์†Œ๋ชจ 0 ์ด ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ N๋ถ€ํ„ฐ 0๊นŒ์ง€ ๋ฐ˜๋Œ€๋กœ ์ด๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์ ํ”„๋Š” -1 ์ˆœ๊ฐ„์ด๋™์€ ๋‚˜๋ˆ„๊ธฐ 2๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ฑด์ „์ง€ ์†Œ๋ชจ๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๊ธฐ์œ„ํ•ด ์ตœ๋Œ€ํ•œ ์ˆœ๊ฐ„์ด๋™์œผ๋กœ ์ด๋™ํ•ด์•ผํ•˜์ง€๋งŒ ์–ด์ฉ” ์ˆ˜ ์—†์ด ์ ํ”„๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•  ์ˆœ๊ฐ„์ด ์–ธ์ œ์ผ๊นŒ์š”? ๋ฐ”๋กœ ์ฃผ์–ด์ง„ N๋ถ€ํ„ฐ 0๊นŒ์ง€ ๊ฐˆ ๋•Œ๊นŒ์ง€ ์ฐจ๋ก€๋กœ ๋ฐ˜์œผ๋กœ(2๋กœ) ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ํ™€์ˆ˜๊ฐ€ ๋์„ ๋•Œ ์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ.. 2020. 10. 16.
728x90
๋ฐ˜์‘ํ˜•