๐Ÿ“ Algorithm/์•Œ๊ณ ๋ฆฌ์ฆ˜

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””ํ•˜๋ฉด์„œ ์žฌ๊ท€์— ๋Œ€ํ•ด ์ž˜ ์ดํ•ดํ•˜๊ณ  ์“ฐ์ง€ ๋ชปํ–ˆ๋˜ ๊ฒฝํ—˜์ด ์žˆ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜๋‚˜ ํŒฉํ† ๋ฆฌ์–ผ ๋ฌธ์ œ ์ •๋„๋Š” ๊ดœ์ฐฎ์€๋ฐ, ์ดํ•ด๋„๊ฐ€ ์กฐ๊ธˆ ๋ถ€์กฑํ–ˆ์–ด์„œ ๊ทธ ์ด์ƒ์€ ์ฒดํ™”๋˜์ง€ ์•Š์•„, ์‰ฝ๊ฒŒ ์žฌ๊ท€๋ฅผ ๋– ์˜ฌ๋ ค ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ–ˆ์—ˆ๋‹ค. ์ด๋ฒˆ์— ์ฝ”ํ…Œ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ, ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ๋ณด๋‹จ ๋ถ€์กฑํ–ˆ๋˜ ๊ธฐ๋ณธ ๊ฐœ๋…์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ณด์ž!๋ผ๋Š” ๋งˆ์Œ์œผ๋กœ ์ˆœ์—ด๊ณผ ์กฐํ•ฉ์„ ๋“ค์—ฌ๋‹ค๋ณด์•˜๊ณ , ์ˆœ์—ด๊ณผ ์กฐํ•ฉ์„ ์•Œ์•„๊ฐ€๋ฉด์„œ ์žฌ๊ท€์— ๋Œ€ํ•ด์„œ๋„ ์ž์—ฐ์Šค๋ ˆ ์ฒดํ™”ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค-!!! ์ˆœ์—ด (permutation) ์ˆœ์—ด์ด๋ž€ ์„œ๋กœ ๋‹ค๋ฅธ n๊ฐœ์˜ ์›์†Œ์—์„œ r๊ฐœ๋ฅผ ์ค‘๋ณต ์—†์ด ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.(๋‹จ, 0 ์กฐํ•ฉ func ์กฐํ•ฉ(_ depth: Int, _ start: Int) { if ๋ށ์Šค๊ฐ€ M๊นŒ์ง€ ๋„๋‹ฌํ–ˆ๋‹ค๋ฉด { ๊ฒฐ๊ณผ๋ฐฐ์—ด ์ถœ๋ ฅ } else { ์ธ..
BFS(๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰) 1. removeFirst() ์‚ฌ์šฉ func bfs(graph: [[Int]], startX: Int, startY: Int) -> [Int] { var visited = Array(repeating: Array(repeating: false, count: n), count: n) var queue = [(startX, startY)] var result = [Int]() visited[startX][startY] = true while let node = queue.isEmpty ? nil : queue.removeFirst() { let x = node.0 let y = node.1 result.append(graph[x][y]) let dx = [0, 0, 1, -1] let ..
https://www.acmicpc.net/problem/11659 11659๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4 ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์…‹์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„ i์™€ j www.acmicpc.net ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๋ˆ„์ ํ•ฉ์„ ์ฒ˜์Œ ์ ‘ํ–ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๊ฐ’์„ ๊ณ„์‚ฐํ•ด์„œ ์ €์žฅํ•ด์„œ ๊บผ๋‚ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์€ ๋“ค์—ˆ๋Š”๋ฐ, ์ •ํ™•ํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด ๋ˆ„์ ‘ํ•ฉ!์ธ์ง€๋Š” ๋ชฐ๋ž๋‹ค..! ๋ˆ„์ ํ•ฉ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! ๋ˆ„์ ํ•ฉ ํŠน์ • ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ ์ฐพ๋Š”๋ฐ ์œ ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ˆ„์ ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—ฐ์†๋œ ์›์†Œ๋“ค์˜ ํ•ฉ์„ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ์—์„œ ์ผ๋ถ€ ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ ์ฐพ๋Š” ๋ฐ ์‚ฌ..
JINiOS
'๐Ÿ“ Algorithm/์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก