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

๐Ÿ“– Problem Solution204

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ 3 ๋น›์˜ ๊ฒฝ๋กœ ์‚ฌ์ดํด Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋น›์˜ ๊ฒฝ๋กœ ์‚ฌ์ดํด ๊ฐ ์นธ๋งˆ๋‹ค S, L, ๋˜๋Š” R๊ฐ€ ์จ์ ธ ์žˆ๋Š” ๊ฒฉ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด ๊ฒฉ์ž์—์„œ ๋น›์„ ์˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฉ์ž์˜ ๊ฐ ์นธ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ดํ•œ ์„ฑ์งˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋น›์ด "S"๊ฐ€ ์จ์ง„ ์นธ์— ๋„๋‹ฌํ•œ ๊ฒฝ์šฐ, ์ง์ง„ programmers.co.kr Solution 1. ์‚ฌ์ดํด์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ดํ•ดํ•œ๋‹ค. ์‚ฌ์ดํด์€ ์ฒ˜์Œ ์‹œ์ž‘ํ•œ ์นธ์—์„œ ์ฒ˜์Œ ์‹œ์ž‘ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ์•„ ์˜ฌ ๋•Œ ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ (0,0)์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋น›์„ ์ˆ๊ณ  ๋‹ค์‹œ (0,0)์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋น›์ด ์žˆ๋‹ค๋ฉด ์‚ฌ์ดํด์ž…๋‹ˆ๋‹ค. 2. ์œ„์น˜์™€ ๋ฐฉํ–ฅ์„ ๊ธฐ์–ตํ•  Location ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. struct Location:Equatable { var x:Int,y:Int,d:String } 3. ์‚ฌ์ด.. 2021. 9. 24.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ 7์ฃผ์ฐจ ์ž…์‹ค ํ‡ด์‹ค Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 7์ฃผ์ฐจ ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ๋ฅผ ์œ„ํ•ด ํšŒ์˜์‹ค์— ์ถœ์ž…ํ•  ๋•Œ ๋ช…๋ถ€์— ์ด๋ฆ„์„ ์ ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž…์‹ค๊ณผ ํ‡ด์‹ค์ด ๋™์‹œ์— ์ด๋ค„์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†์œผ๋ฉฐ, ์ž…์‹ค ์‹œ๊ฐ๊ณผ ํ‡ด์‹ค ์‹œ๊ฐ์€ ๋”ฐ๋กœ ๊ธฐ๋กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ํšŒ์˜์‹ค์—๋Š” programmers.co.kr Solution 1. ๋ฐ˜๋“œ์‹œ ๋งŒ๋‚˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๊ธฐ leave์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค. leave์•ˆ์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ n์ด๋ผ๊ณ  ๊ฐ€์ •ํ•  ๋•Œ enter์•ˆ์˜ ์ˆซ์ž 0๋ถ€ํ„ฐ n์ด ์žˆ๋Š” ์ธ๋ฑ์Šค๊นŒ์ง€์˜ ์ˆซ์ž๋“ค์€ ๋ชจ๋‘ ๋ฐ˜๋“œ์‹œ ๋งŒ๋‚˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ex) enter [1,4,2,3] leave [2,1,4,3] leave์˜ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” 2์ž…๋‹ˆ๋‹ค. enter์—์„œ 2๊ฐ€ ์žˆ๋Š” index๋Š” 2์ž…๋‹ˆ๋‹ค. ๊ณ ๋กœ enter์˜ 0๋ถ€ํ„ฐ 2๊นŒ์ง€์˜ ์ˆซ์ž 1,4,2๋Š” 1๊ณผ 4 .. 2021. 9. 16.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ ์ผ๋ถ€๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์—์„œ ์ฐพ์„ ์ˆ˜ ์—†๋Š” 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ programmers.co.kr Solution 45์—์„œ ๋ชจ๋‘ ๋”ํ•œ ๊ฒƒ์„ ๋นผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. Source Code 2021. 9. 16.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‹ค๋‹จ๊ณ„ ์นซ์†” ํŒ๋งค Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‹ค๋‹จ๊ณ„ ์นซ์†” ํŒ๋งค ๋ฏผํ˜ธ๋Š” ๋‹ค๋‹จ๊ณ„ ์กฐ์ง์„ ์ด์šฉํ•˜์—ฌ ์นซ์†”์„ ํŒ๋งคํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ๋งค์›์ด ์นซ์†”์„ ํŒ๋งคํ•˜๋ฉด ๊ทธ ์ด์ต์ด ํ”ผ๋ผ๋ฏธ๋“œ ์กฐ์ง์„ ํƒ€๊ณ  ์กฐ๊ธˆ์”ฉ ๋ถ„๋ฐฐ๋˜๋Š” ํ˜•ํƒœ์˜ ํŒ๋งค๋ง์ž…๋‹ˆ๋‹ค. ์–ด๋Š์ •๋„ ํŒ๋งค๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํ›„, programmers.co.kr Solution 1. ํŒ๋งค์ž์˜ ๋ถ€๋ชจ์™€ ์ด์ต์„ ์ดˆ๊ธฐํ™”ํ•ด์ค€๋‹ค. var parentDic:[String:String] = [:] var profitDic:[String:Int] = [:] for i in 0.. 2021. 9. 12.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ธฐ์ง€๊ตญ ์„ค์น˜ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ธฐ์ง€๊ตญ ์„ค์น˜ N๊ฐœ์˜ ์•„ํŒŒํŠธ๊ฐ€ ์ผ๋ ฌ๋กœ ์ญ‰ ๋Š˜์–ด์„œ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ ์ผ๋ถ€ ์•„ํŒŒํŠธ ์˜ฅ์ƒ์—๋Š” 4g ๊ธฐ์ง€๊ตญ์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•ด 5g ์ˆ˜์š”๊ฐ€ ๋†’์•„์ ธ 4g ๊ธฐ์ง€๊ตญ์„ 5g ๊ธฐ์ง€๊ตญ์œผ๋กœ ๋ฐ”๊พธ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ 5 programmers.co.kr Solution 1. stations๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ „ํŒŒ๊ฐ€ ์˜ค์ง€ ์•Š๋Š” ๊ตฌ๊ฐ„์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ „ํŒŒ๊ฐ€ ์•ˆ์˜ค๋Š” ๊ตฌ๊ฐ„์€ ํ˜„์žฌ ์„ค์น˜๋œ ๊ธฐ์ง€๊ตญ๋“ค์˜ ์ „ํŒŒ ๋„๋‹ฌ๊ฑฐ๋ฆฌ ์‚ฌ์ด์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™”๋˜ ์˜ˆ๋กœ ๋“ค๋ฉด 4์™€ 11์— ํ˜„์žฌ ๊ธฐ์ง€๊ตญ๋“ค์ด ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ์ „ํŒŒ ๋„๋‹ฌ๊ฑฐ๋ฆฌ ์‚ฌ์ด๋Š” 1~2, 6~9 ์ž…๋‹ˆ๋‹ค. 2. ์ „ํŒŒ๊ฐ€ ์˜ค์ง€ ์•Š๋Š” ๊ตฌ๊ฐ„์— ๊ธฐ์ง€๊ตญ์ด ๋ช‡ ๊ฐœ ํ•„์š”ํ•œ์ง€ ๊ณ„์‚ฐํ•œ๋‹ค. ์ „ํŒŒ๊ฐ€ ์˜ค์ง€ ์•Š๋Š” ๊ตฌ๊ฐ„์˜ ์ˆ˜๊ฐ€ n์ด๋ผ๋ฉด ํ•„์š”ํ•œ ๊ธฐ์ง€๊ตญ์˜ ์ˆ˜๋Š” n/w*2+1 ์„ ์˜ฌ๋ฆผํ•œ ์ˆ˜์ž…๋‹ˆ๋‹ค... 2021. 9. 10.
[Swift] 2020 KAKAO BLIND RECRUITMENT ์™ธ๋ฒฝ ์ ๊ฒ€ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์™ธ๋ฒฝ ์ ๊ฒ€ ๋ ˆ์Šคํ† ๋ž‘์„ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” "์Šค์นดํ”ผ"๋Š” ๋ ˆ์Šคํ† ๋ž‘ ๋‚ด๋ถ€๊ฐ€ ๋„ˆ๋ฌด ๋‚ก์•„ ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ ์ง์ ‘ ๋ฆฌ๋ชจ๋ธ๋ง ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์Šคํ† ๋ž‘์ด ์žˆ๋Š” ๊ณณ์€ ์Šค๋…ธ์šฐํƒ€์šด์œผ๋กœ ๋งค์šฐ ์ถ”์šด ์ง€์—ญ์ด์–ด์„œ ๋‚ด๋ถ€ ๊ณต์‚ฌ๋ฅผ ํ•˜ programmers.co.kr Solution 1. Set๋กœ ๋œ ์ทจ์•ฝ์ ๋“ค์ด ๋‹ด์„ weaks ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. Set๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ด์œ ๋Š” ์ทจ์•ฝ์ ๋“ค์ด ๊ฐ™์€ ๊ฒƒ๋“ค์˜ ๋ฐ˜๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค.(์‹œ๊ฐ„์ดˆ๊ณผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด) var weaks:Set = [weak] 2. ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ํฐ ์นœ๊ตฌ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ˆœํšŒํ•œ๋‹ค. ์ตœ๋Œ€ํ•œ ์ ์€ ์นœ๊ตฌ๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฑฐ๋ฆฌ๊ฐ€ ํฐ ์นœ๊ตฌ๋ถ€ํ„ฐ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค. for (i,d) in dist.reversed().enumerated() { ... 3. ์ด๋ฏธ .. 2021. 9. 8.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ 6์ฃผ์ฐจ ๋ณต์„œ ์ •๋ ฌํ•˜๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 6์ฃผ์ฐจ ๋ณต์„œ ์„ ์ˆ˜๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ weights์™€, ๋ณต์„œ ์„ ์ˆ˜๋“ค์˜ ์ „์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” head2head๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ณต์„œ ์„ ์ˆ˜๋“ค์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ ํ›„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š” programmers.co.kr Solution 1. ๋ณต์„œ๊ฐ€ ์ด๊ธฐ๊ณ  ์ง„ ์ „์ ๊ณผ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ๋” ๋งŽ์ด ๋‚˜๊ฐ€๋Š” ์„ ์ˆ˜๋ฅผ ์ด๊ธด ํšŸ์ˆ˜๋ฅผ ์„ธ์ค€๋‹ค. N์€ ์‹ธ์šฐ์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ์ด๋ฏ€๋กœ ์ƒ๋žตํ•ด์ฃผ๊ณ  W์ผ ๊ฒฝ์šฐ๋‚˜ L์ผ ๊ฒฝ์šฐ๋งŒ ์„ธ์ค๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๋งŒ์•ฝ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ ๋” ์ ๋‹ค๋ฉด count๋ฅผ +1 ํ•ด์ค๋‹ˆ๋‹ค. func setFightsHistory(moreWeightsWinCount:inout [Int],_ head2head:[String],weights:[Int]) -> [[String.. 2021. 9. 6.
[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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ 5์ฃผ์ฐจ ๋ชจ์Œ ์‚ฌ์ „ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 5์ฃผ์ฐจ ์‚ฌ์ „์— ์•ŒํŒŒ๋ฒณ ๋ชจ์Œ 'A', 'E', 'I', 'O', 'U'๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”, ๊ธธ์ด 5 ์ดํ•˜์˜ ๋ชจ๋“  ๋‹จ์–ด๊ฐ€ ์ˆ˜๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์—์„œ ์ฒซ ๋ฒˆ์งธ ๋‹จ์–ด๋Š” "A"์ด๊ณ , ๊ทธ๋‹ค์Œ์€ "AA"์ด๋ฉฐ, ๋งˆ์ง€๋ง‰ ๋‹จ์–ด๋Š” "UUUUU"์ž…๋‹ˆ programmers.co.kr Solution 1. ๋ชจ์Œ ์ˆœ์„œ์™€ ์ธ๋ฑ์Šค๋ณ„ ์นด์šดํŠธ ์–ด๋ ˆ์ด๋ฅผ ๋งŒ๋“ ๋‹ค. ์ธ๋ฑ์Šค๋ณ„ ์นด์šดํŠธ๋Š” ๊ฐ€์žฅ ๋ ์ฆ‰,4๋ฒˆ์งธ ์ธ๋ฑ์Šค์ผ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ชจ์Œ์œผ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ 1๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ex) AAAAA -> AAAAE -> AAAAI .... 1๊ฐœ์”ฉ 3๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ชจ์Œ์œผ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ 6๊ฐœ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ex) AAAA -> AAAE -> AAAI ... 6๊ฐœ์”ฉ 2๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ชจ์Œ์œผ๋กœ ์ด๋™ํ•˜๋Š”.. 2021. 8. 30.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ 4์ฃผ์ฐจ ์ง์—…๊ตฐ ์ถ”์ฒœํ•˜๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 4์ฃผ์ฐจ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์™€ ์–ธ์–ด ์„ ํ˜ธ๋„๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ทธ์— ๋งž๋Š” ์ง์—…๊ตฐ์„ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” 5๊ฐœ ์ง์—…๊ตฐ ๋ณ„๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” 5๊ฐœ ์–ธ์–ด์— ์ง์—…๊ตฐ ์–ธ์–ด ์ ์ˆ˜๋ฅผ ๋ถ€ programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” Hashtable์„ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1. ์ด์ค‘ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ์ง์—…๊ตฐ์— ๋”ฐ๋ฅธ ์–ธ์–ด๋ณ„ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค. table์„ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ ์ค๋‹ˆ๋‹ค. 0๋ฒˆ์งธ๋Š” ์ง์—…๊ตฐ์˜ ์ด๋ฆ„์ด๋ฏ€๋กœ ํ‚ค๊ฐ’์œผ๋กœ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. ์–ธ์–ด๋ณ„๋กœ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•ด์ฃผ๋Š”๋ฐ 1๋ฒˆ์งธ๋Š” 5,2๋ฒˆ์งธ๋Š” 4,3๋ฒˆ์งธ๋Š” 3... ์ด๋ฏ€๋กœ 6 - i๋กœ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•ด์ค๋‹ˆ๋‹ค. [์ง์—…๊ตฐ:[์–ธ์–ด:์ ์ˆ˜]] [String:[String:Int]] { var jobs:[Stri.. 2021. 8. 28.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค N-Queen Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - N-Queen ๊ฐ€๋กœ, ์„ธ๋กœ ๊ธธ์ด๊ฐ€ n์ธ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ๋œ ์ฒด์ŠคํŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒด์ŠคํŒ ์œ„์˜ n๊ฐœ์˜ ํ€ธ์ด ์„œ๋กœ๋ฅผ ๊ณต๊ฒฉํ•  ์ˆ˜ ์—†๋„๋ก ๋ฐฐ์น˜ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ n์ด 4์ธ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ€ธ์„ ๋ฐฐ์น˜ํ•˜๋ฉด n๊ฐœ์˜ ํ€ธ์€ programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ฐฑํŠธ๋ž˜ํ‚น(DFS)์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1. ๊ฐ ํ–‰๋งˆ๋‹ค ํ€ธ์„ ๋†“์„ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ฒดํฌํ•œ๋‹ค. ๊ฐ ํ–‰๋งˆ๋‹ค ํ€ธ์€ ํ•˜๋‚˜์”ฉ๋ฐ–์— ๋ชป๋†“์œผ๋ฏ€๋กœ ํ˜„์žฌ ํ–‰์˜ ์—ด๋“ค์— ๊ณต๊ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ํ€ธ์ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ณต๊ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ํ€ธ์ด ์—†๋‹ค๋ฉด ํ˜„์žฌ ์œ„์น˜๋ฅผ history(ํ€ธ์˜ ์œ„์น˜๋ฅผ ์ €์žฅํ•˜๋Š” 2์ฐจ์› ๋ฐฐ์—ด)์— ์ €์žฅํ•ด๋†“๊ณ  ๋‹ค์Œ ํ–‰์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ํ–‰๊นŒ์ง€ ๋„๋‹ฌํ•œ ๊ฒฝ์šฐ๋Š” ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์ด๋ฏ€๋กœ.. 2021. 8. 28.
728x90
๋ฐ˜์‘ํ˜•