Notice
Recent Posts
Recent Comments
Link
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๐Ÿ—๏ธ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (6)

lgvv98

[Swift] ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์œ„์ƒ์ •๋ ฌ

ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์œ„์ƒ์ •๋ ฌ ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ์—์„œ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โœ… ์„œ๋กœ์†Œ ์ง‘ํ•ฉ 6๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ๊ฐ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋Š” 6 4 1 4 2 3 2 4 5 6 ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ ๋…ธ๋“œ๋ฅผ ๋น„๊ตํ•˜๊ณ , ๋…ธ๋“œ ๋ฒˆํ˜ธ์˜ ๋ถ€๋ชจ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋ฉด์„œ ๊ฒฐ๊ตญ์€ ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋˜๋Š”์ง€ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋ณต์žก๋„์— ํฐ ์†ํ•ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋ฅผ ๋‹จ์ถ•์‹œํ‚ค๊ณ ์ž ๊ฒฝ๋กœ ์••์ถ• ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. * ๊ฒฝ๋กœ ์••์ถ• ๊ธฐ๋ฒ•์ด๋ž€? - find ํ•จ์ˆ˜๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ๋ถ€๋ชจ ํ…Œ์ด๋ธ” ๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์ฃผ๋กœ ์•Œ์•„ ๋ณผ ๋‚ด์šฉ์€ ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฏ€๋กœ ์„œ๋กœ์†Œ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! https://velog.io/@syc1013/%EC%95%8C%EA%B3%A0%EB%..

[Swift] ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โœ… ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ฒˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ๋Š” ๋‚˜๋™๋นˆ ์ฑ…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต๋ถ€ํ•˜๊ณ , swift๋กœ ์ œ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ ๋ฐ ์ฝ”๋“œ ๊ฒ€์ฆ์ด ์™„๋ฒฝํ•˜์ง€ ์•Š์•„์„œ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์ œ๋ณดํ•ด์ฃผ์„ธ์š”! ๋‹ค์ต์ŠคํŠธ๋ผ : ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ํŠน์ • ์ง€์ ๊นŒ์ง€ - ๊ทธ๋ฆฌ๋””์— ์†ํ•จ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ : ๋ชจ๋“  ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€ - dp์— ์†ํ•จ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N^3)์ด๋‹ค. โœ… ์ฝ”๋“œ import Foundation /// ์ •์ ๊ฐ„์˜ ์—ฐ๊ฒฐ๊ด€๊ณ„, ๊ฐ€์ค‘๊ฐ’, ์ •์ ์˜ ๊ฐœ์ˆ˜ func FloydWarshall(graph: [[Int]], weight: [Int], n: Int) -> [[Int]] { var node = [[Int]](repeating: [In..

[Swift] Dijkstra ์•Œ๊ณ ๋ฆฌ์ฆ˜

Dijkstra ์•Œ๊ณ ๋ฆฌ์ฆ˜ โœ… Dijkstra ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ด๋ณด์ž. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…๊ณผ ๋‚˜๋™๋นˆ ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ… ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๋ถ„์˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Œ. ์ด๊ฑฐ ์˜ˆ์ „์— ์†์„ ํ’€๋•Œ๋Š” ์ฐธ ์ดํ•ด๋„ ์‰ฝ๊ณ  ๊ทธ๋žฌ๋Š”๋ฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ๋†“๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋‹ˆ๊นŒ ์–ด๋ ค์› ์Œ. ๊ทผ๋ฐ ๊ทธ๋ƒฅ ์ƒ๋‹นํžˆ ์ง‘์ค‘์ด ์•ˆ๋˜๋Š” ์‹œ๊ธฐ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์†์œผ๋กœ ๋ถ„์„ํ•ด๋ณด์ž. ๋‚˜๋™๋นˆ ์ฑ…์— ๋”ฐ๋ฅด๋ฉด ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์†Œ๊ฐœํ•ด์ฃผ๋Š”๋ฐ ๋‘˜์˜ ์ฐจ์ด๋ฅผ ๋ถ„์„ํ•ด๋ณด์ž. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ํ•œ ์ง€์ ์—์„œ ๊ฐ๊ฐ์˜ ํŠน์ • ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ - ๊ทธ๋ฆฌ๋””์— ์†ํ•จ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋ชจ๋“  ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ - dp์— ์†ํ•จ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ : E ๋…ธ๋“œ์˜..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค] chapter 5. DFS/BFS

chapter 5. DFS/BFS โœ… DFS/BFS์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! DFS/BFS๋Š” ์ธ๊ณต์ง€๋Šฅ ์ˆ˜์—…์‹œ๊ฐ„์— ๊ณต๋ถ€ํ–ˆ์–ด์„œ ๊ทธ ๊ฐœ๋…์€ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด ๋ณธ ๊ฒฝํ—˜์€ ์˜ˆ์ „์— ๊ธ‰ํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋ฅผ ์ œ์™ธํ•˜๊ณค ์—†์—ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€๋ฉด์„œ DFS/BFS๋Š” ์Œ.. ๋ญ๋ž„๊นŒ, ์žฌ๊ท€๋‚˜ ์™„์ „ํƒ์ƒ‰ ๋“ฑ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ๋“ค๋„ ์žˆ์—ˆ๋Š”๋ฐ ๊ฐ€๋”์€ DFS/BFS๊ฐ€ ์•„๋‹ˆ๋ฉด ํ’€ ์ˆ˜ ์—†๊ฒ ๋Š” ๋ฌธ์ œ(์•„๋‹ˆ๋ฉด ๋งค์šฐ ๋ณต์žกํ•œ)๊ฐ€ ๋งŽ๋”๋ผ. ๊ทธ๋ž˜์„œ ๊ณต๋ถ€ํ•ด๋ด„ โœ… DFS DFS๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŠน์ •ํ•œ ๊ฒฝ๋กœ๋กœ ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ ํŠน์ • ์ƒํ™ฉ์—์„œ๋Š” ์ตœ๋Œ€ํ•œ ๊นŠ์ˆ™์ด ๋“ค์–ด๊ฐ€์„œ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•œ ํ›„, ๋‹ค์‹œ ๋Œ์•„๊ฐ€์„œ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒฝ๋กœ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. import Foundation func DFS (graph: [T: ..

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค] chapter 8. DP

chapter 8. DP โœ… ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! DP๋Š” ํ•™๊ต ์ˆ˜์—…์‹œ๊ฐ„์— ํ”ผ๋ณด๋‚˜์น˜๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ณ„์‚ฐํ•œ ๋ถ€๋ถ„์„ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ฐฐ์› ๋Š”๋ฐ, ๊ทธ ๋‹น์‹œ์—๋Š” ๊ทธ๊ฒŒ DP์ธ์ง€ ๋ชฐ๋ž์Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€๋ฉด์„œ DP์™€ ๊ฐ™์€ ๋ฌธ์ œ๋“ค์„ ์ž˜ ๋ชปํ‘ธ๋Š”๋ฐ, ์ด๋ฒˆ์— ๊ณต๋ถ€ํ•ด ๋ณด๋‹ˆ๊นŒ ๊ทธ ์‚ฌ๊ณ ๋ฅผ ์–ป์–ด์„œ ์กฐ๊ธˆ ์ž์‹ ๊ฐ๋„ ์ƒ๊น€ ์ˆ˜๋Šฅ๋•Œ๋„ ์ ํ™”์‹ ๋ฌธ์ œ์— ์œ ๋… ๋„ˆ๋ฌด๋‚˜๋„ ์•ฝํ–ˆ๋Š”๋ฐ, DP๋Š” ์ ํ™”์‹์ด ๊ฑฐ์˜ ๋ฒ ์ด์Šค๋„ค..? ์•„๋ฌดํŠผ ์—ด์‹ฌํžˆ ํ•ด๋ณด์ž. โœ… 1๋กœ ๋งŒ๋“ค๊ธฐ ์ ํ™”์‹์„ ์ด์šฉํ•˜๋˜๋ฐ, ํŠน์ •ํ•œ ์ž‘์€ ๊ฐ’์„ ์ •ํ•ด์„œ ์ง์ ‘ ๊ทธ๋Ÿฌ๋ณด๋ฉด ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ๋„์›€์ด ๋งŽ์ด ๋œ๋‹ค. ๋˜ํ•œ, ๋ณดํ…€์—… ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š”๊ฒŒ ์กฐ๊ธˆ ๋” ์ด๋“์ด ์žˆ๋‹ค๊ณ  ํ•˜๊ณ , ์—„์ฒญ ์–ด๋ ต์ง€๋„ ์•Š์œผ๋‹ˆ๊นŒ ํ•œ๋ฒˆ ํ•ด๋ณด์ž. ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐฑ์ค€์—์„œ ์ฐพ์•„ ํ’€์–ด๋ณด์ž. ๐ŸŸ  ๋ฐฑ์ค€๋ฌธ์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ํ™”์‹์„ ๋งŒ๋“ค์–ด..

Swift Data Structure and Algorithms

โœ… ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋“œ๋””์–ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๋Œ€๋กœ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ Swift ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…์„ ๊ตฌ์ž…ํ•˜๊ณ  ๊ณต๋ถ€ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๊ธฐ๋กํ•ด ๋ณด๋ ค๊ณ  ํ•ด. ์šฐ์„  ๋‚ด๊ฐ€ C์–ธ์–ด(C++ ์•„๋‹˜;;) ๋กœ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‹œ๊ฐ„ ๋‚ด์— ๋นจ๋ฆฌ ํ’€๊ธฐ๊ฐ€ ๋„ˆ๋ฌด๋‚˜๋„ ํž˜๋“ค์—ˆ์Œ. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ python์œผ๋กœ ์ค€๋น„ ํ–ˆ์—ˆ์œผ๋‚˜, ํ† ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณด๋Š”๋ฐ Swift๋กœ ์ œํ•œํ•ด ๋‘” ๊ฒƒ์„ ๋ณด๊ณ  ์•„์˜ˆ ๋‹ค์‹œ ๋ง˜์„ ์žก๊ณ  ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ๋กœ ํ•จ. ๊ทผ๋ฐ ๋‹จ์ ์€ Swift๋กœ ํ’€์–ด๋„, ๋ฐ˜ํ™˜ ๋ฐฉ๋ฒ•, ๋ฐฐ์—ด์˜ index ์ฐธ์กฐ ๋ฒ•, String์„ ๋‹ค๋ฃจ๋Š” ๋ฒ• ๋“ฑ Swift๋ฅผ ๋‹ค๋ฃจ๊ธฐ๊ฐ€ ์–ด๋ ค์› ์–ด. ๋˜ํ•œ Dictionary๋ฅผ Python์—์„œ๋„ ์ƒ๋‹นํžˆ ํž˜๋“ค์–ด ํ–ˆ์—ˆ๋Š”๋ฐ, Swift๋กœ๋„ ์—ฌ์ „ํžˆ ํž˜๋“ค์–ด์„œ, ์•„์˜ˆ ํ•˜๋‚˜ํ•˜๋‚˜ ์ •๋…ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฑ…์„ ๊ตฌ์ž…ํ–ˆ๋‹ค. โœ… ๊ณต๋ถ€ ๊ณ„ํš ์ฑ•ํ„ฐ๋ฅผ ..