๋ชฉ๋กAlgorithm/CodingTest- Swift (2)

suvera-dev ๐Ÿฅฆ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv3] ์—ฐ์† ํŽ„์Šค ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ - Swift

https://school.programmers.co.kr/learn/courses/30/lessons/161988 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋Œ€ํ‘œ์ ์ธ DP์œ ํ˜• ๋ฌธ์ œ์ธ๋ฐ, Swift ํ’€์ด๊ฐ€ ๋งŽ์ด ์—†๊ธธ๋ž˜ ์—…๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค ! ์ฒ˜์Œ์— dp ๋ฐฐ์—ด์„ 2๊ฐœ ๋งŒ๋“œ๋Š” ์•„์ด๋””์–ด๋ฅผ ๋– ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•ด์„œ ์นœ๊ตฌ์˜ ๋„์›€์„ ๋ฐ›์•„ ํ’€์—ˆ๋‹ค ! ์ƒค๋ผ์›ƒ janechoi.. ๋‹ค์Œ์— ๋น„์Šทํ•œ ๋ฌธ์ œ ๋‚˜์˜ค๋ฉด dp ๋ฐฐ์—ด์„ 2๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•ด์•ผ๊ฒ ๋‹ค :) func solution(_ sequence:[Int]) -> Int64 { // -1๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฐ์—ด var dp1..

Algorithm/CodingTest- Swift 2023. 5. 22. 17:58
Backtracking ๋ฐฑํŠธ๋ž˜ํ‚น ๋Œ€ํ‘œ ๋ฌธ์ œ ) NQueen - Swift๋กœ ๊ตฌํ˜„

NQueen ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ Swift ํ’€์ด๊ฐ€ ๋งŽ์ด ์—†์–ด์„œ ์˜ฌ๋ ค๋ด…๋‹ˆ๋‹ค. Backtracking ์ด๋ž€?๐Ÿ”ฅ ํ•ด๋ฅผ ์ฐพ๋Š” ๋„์ค‘ ํ•ด๊ฐ€ ์•„๋‹ˆ์–ด์„œ ๋ง‰ํžˆ๋ฉด, ๋˜๋Œ์•„๊ฐ€์„œ ๋‹ค์‹œ ํ•ด๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ธฐ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค. → ์ฆ‰, DFS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ์•ฝ ์กฐ๊ฑด์— ๋งž์ง€ ์•Š์œผ๋ฉด ๊ทธ ์ฆ‰์‹œ ์ค‘๋‹จํ•˜๊ณ  ์ด์ „์œผ๋กœ ๋Œ์•„๊ฐ€ ๋‹ค์‹œ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด, ๋ฐฑํŠธ๋ž˜ํ‚น์€ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ค‘์—์„œ ํŠน์ •ํ•œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ๋งŒ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ ๐Ÿ”ฅ ์ฃผ๋กœ ๋ฌธ์ œ ํ’€์ด์—์„œ๋Š” DFS ๋“ฑ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๊ณผ์ •์—์„œ, ์กฐ๊ฑด๋ฌธ ๋“ฑ์„ ๊ฑธ์–ด ๋‹ต์ด ์ ˆ๋Œ€๋กœ ๋  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์„ ์ •์˜ํ•˜๊ณ , ๊ทธ๋Ÿฌํ•œ ์ƒํ™ฉ์ผ ๊ฒฝ์šฐ์—๋Š” ํƒ์ƒ‰์„ ์ค‘์ง€์‹œํ‚จ ๋’ค ๊ทธ ์ด์ „์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ๋‹ค์‹œ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ฒŒ๋” ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. N-Queen ๋ฌธ์ œ ..

Algorithm/CodingTest- Swift 2023. 3. 30. 20:43