๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐Ÿ Algorithm/์•Œ๊ณ ๋ฆฌ์ฆ˜-Swift10

[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] ๊ทธ๋ž˜ํ”„ํƒ์ƒ‰(DFS/BFS) - ํƒ€๊ฒŸ๋„˜๋ฒ„, ๋„คํŠธ์›Œํฌ, ๋‹จ์–ด๋ณ€ํ™˜, ์—ฌํ–‰๊ฒฝ๋กœ 1. ํƒ€๊ฒŸ ๋„˜๋ฒ„ (DFS) 1์„ ๋”ํ•˜๊ฑฐ๋‚˜ ๋บ„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ํ•œ๋ฒˆ์”ฉ DFS ๋ฅผ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค. ์ด๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค๋ณด๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ์ˆซ์ž๋ฅผ ํ•˜๋‚˜ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๋Š” ๊ฒƒ์„ ๊ทธ๋ž˜ํ”„์˜ ๊นŠ์ด ํƒ์ƒ‰์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. import Foundation func dfs(numbers: [Int], target: Int, i: Int, total: Int) -> Int { if i == numbers.count { return total == target ? 1 : 0 } let count1 = dfs(numbers: numbers, target: target, i: i+1, total: total - numbers[i]) let count2 = dfs(numbers: numbers, targe.. 2021. 7. 21.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] ํ•ด์‹œ - ๋ฒ ์ŠคํŠธ์•จ๋ฒ” Swift ์Šคํ„ฐ๋”” 11์ฃผ์ฐจ - ํ•ด์‹œ :: ์œ„์žฅ, ๋ฒ ์ŠคํŠธ์•จ๋ฒ” [์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์œ„์žฅ (ํ•ด์‹œ) Python3 ๋กœ ํ’€์—ˆ๋˜ ๋ฌธ์ œ๋ฅผ Swift ๋กœ ๋‹ค์‹œ ํ’€์–ด๋ดค์–ด์š”. iOS ๊ฐœ๋ฐœ์„ ์ข€๋” ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ์œ„ํ•ด์„œ Swift ๋ฐ์ดํ„ฐ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€์˜ ํ•„์š”์„ฑ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ๐Ÿค” '์œ„์žฅ' ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์€ ์ด์ „ ํฌ jellysong.tistory.com ๐Ÿ‘€ ์ฒซ๋ฒˆ์งธ ํ’€์ด # ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ playDict ๋Š” ["์žฅ๋ฅด" : (์ด ์žฌ์ƒ๊ณก์ˆ˜, [์žฌ์ƒ๊ณก์ˆ˜])] ํ˜•ํƒœ์˜ ๋”•์…”๋„ˆ๋ฆฌ์ด๋‹ค. ๊ฐ™์€ ์žฅ๋ฅด์˜ ์ด ์žฌ์ƒ๊ณก์ˆ˜์— ๋”ฐ๋ผ 1์ฐจ ์ •๋ ฌ์„ ํ•ด์ค˜์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด ์žฌ์ƒ๊ณก์ˆ˜๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์ €์žฅํ–ˆ๋‹ค. musicDict ๋Š” ["์žฅ๋ฅด_์žฌ์ƒ๊ณก์ˆ˜" : [๊ณ ์œ ๋ฒˆํ˜ธ]] ํ˜•ํƒœ์˜ ๋”•์…”๋„ˆ๋ฆฌ์ด๋‹ค. ๊ฐ™์€ ์žฅ๋ฅด์— ๊ฐ™์€ ์žฌ์ƒ๊ณก์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋…ธ๋ž˜๊ฐ€ ์—ฌ๋Ÿฌ.. 2021. 7. 6.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] ์ •๋ ฌ ๋ฌธ์ œํ’€์ด - K๋ฒˆ์งธ์ˆ˜, ๊ฐ€์žฅ ํฐ ์ˆ˜, H-Index Swift ์Šคํ„ฐ๋”” 10์ฃผ์ฐจ 6/24 ์Šคํ„ฐ๋”” 4์ฃผ์ฐจ ์ฑ•ํ„ฐ์˜€๋˜ "์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜" ์—์„œ ์‚ฝ์ž… ์ •๋ ฌ, ๋ณ‘ํ•ฉ ์ •๋ ฌ, ํ€ต ์ •๋ ฌ์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จ๋˜์„œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์ •๋ ฌ ์ฑ•ํ„ฐ๋ฅผ ํ†ตํ•ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. โœ”๏ธŽ K๋ฒˆ์งธ์ˆ˜ ๋ฐฐ์—ด array์˜ i๋ฒˆ์งธ ์ˆซ์ž๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆซ์ž๊นŒ์ง€ ์ž๋ฅด๊ณ  ์ •๋ ฌํ–ˆ์„ ๋•Œ, k๋ฒˆ์งธ์— ์žˆ๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๐Ÿ‘€ ์ž…์ถœ๋ ฅ array : Int ๋ฐฐ์—ด, 1 2021. 6. 25.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] ์Šคํƒ/ํ ๋ฌธ์ œํ’€์ด - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ธฐ๋Šฅ๊ฐœ๋ฐœ, ํ”„๋ฆฐํ„ฐ, ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ Swift ์Šคํ„ฐ๋”” 9์ฃผ์ฐจ 6/15 . ์Šคํ„ฐ๋”” 3์ฃผ์ฐจ ์ฑ•ํ„ฐ์˜€๋˜ "๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ํ™œ์šฉ" ์—์„œ ์Šคํƒ, ํ, ์ˆœํ™˜ ๋ฒ„ํผ, ์šฐ์„ ์ˆœ์œ„ ํ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จ๋˜์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ–ˆ๊ณ , ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์Šคํƒ/ํ ์ฑ•ํ„ฐ๋ฅผ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. [Swift] ์Šคํ„ฐ๋”” 3์ฃผ์ฐจ - ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 5/4 ์ง„ํ–‰ํ–ˆ๋˜ ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…์˜ 3์žฅ '์Šค์œ„ํ”„ํŠธ ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ํ™œ์šฉ' ์Šคํ„ฐ๋”” ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค! ๐Ÿ‘€ 3์žฅ ์š”์•ฝ 3์žฅ์—์„œ๋Š” Swift ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ค‘ Collections (Array, Dictionary, Set) jellysong.tistory.com โœ”๏ธŽ ๊ธฐ๋Šฅ๊ฐœ๋ฐœ ๐Ÿ’ก ์ฐธ๊ณ  ์‚ฌํ•ญ "๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋œ๋‹ค." -> Queue.. 2021. 6. 16.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] BOJ 1038 ๊ฐ์†Œํ•˜๋Š” ์ˆ˜ - ์™„์ „ ํƒ์ƒ‰ ๐Ÿค” ๋ฌธ์ œ ์œ ํ˜• :: ๋ธŒ๋ฃจํŠธํฌ์Šค(์™„์ „ํƒ์ƒ‰) / ๋ฐฑํŠธ๋ž˜ํ‚น ๐Ÿ’ก ํ’€์ด ๋ฐฉ๋ฒ• โœ”๏ธŽ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณธ๋‹ค. ๐Ÿ‘‰ n ์ž๋ฆฌ์˜ ์ˆซ์ž๋ผ๋ฉด ์ฒซ์งธ ์ž๋ฆฌ๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ์„ ๋•Œ, ๋‘๋ฒˆ์งธ๋Š” ์ฒซ์งธ ์ž๋ฆฌ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์œผ๋กœ, ์„ธ๋ฒˆ์งธ๋Š” ๋‘๋ฒˆ์งธ ์ž๋ฆฌ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์œผ๋กœ, n๋ฒˆ์งธ ์ž๋ฆฌ๋Š” n-1 ๋ฒˆ์งธ ์ž๋ฆฌ๋ณด๋‹ค ์ž‘์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. โœ”๏ธŽ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์ฐธ๊ณ ํ•ด์•ผ ํ•˜๋Š” ์‚ฌํ•ญ๋“ค ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์€ 9876543210์œผ๋กœ, ์ตœ๋Œ€ ์ž๋ฆฌ์ˆ˜๋Š” 10์ž๋ฆฌ์ด๋‹ค. ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์€ 0์œผ๋กœ, ์ตœ์†Œ ์ž๋ฆฌ์ˆ˜๋Š” 1์ด๋‹ค. ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” 1022๊ฐœ์ด๋‹ค. N = 1023 ๋ถ€ํ„ฐ๋Š” -1์„ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. โœ”๏ธŽ ํ’€์ด๋ฅผ ์ •๋ฆฌํ•˜์ž๋ฉด ?! ์ž๋ฆฌ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๊ณ , ์ž๋ฆฌ์ˆ˜์— ๋”ฐ๋ผ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค. --- 0 ๋ถ€ํ„ฐ 9๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. (ํ˜น์€ 1 ~ 10).. 2021. 6. 9.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] BOJ 1644 ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ - ํˆฌ ํฌ์ธํ„ฐ & ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๐Ÿ‘€ ํ•„์š”ํ•œ ๊ณต๋ถ€ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ํˆฌ ํฌ์ธํ„ฐ ์ผ์ฐจ์› ๋ฐฐ์—ด์—์„œ ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ์ง€์ •ํ•ด ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ• ๐Ÿ’ก ํ’€์ด ๋ฐฉ๋ฒ• ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๋‘ ๊ฐœ๋…์„ ์ „๋ถ€ ์ ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ €, ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ์ด์šฉํ•ด ์†Œ์ˆ˜๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ฐพ์€ ์†Œ์ˆ˜ ๋ฐฐ์—ด์„ ํ†ตํ•ด ํˆฌ ํฌ์ธํ„ฐ๋กœ ์ ‘๊ทผํ•ด์„œ ์—ฐ์†๋œ ์†Œ์ˆ˜์˜ ํ•ฉ์œผ๋กœ N ์ด ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฒดํฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค! checkPrimes ํ•จ์ˆ˜ :: ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ์ด์šฉํ•ด ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜ findSeries ํ•จ์ˆ˜ :: ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ์ด์šฉํ•ด ์—ฐ์†๋œ ์†Œ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ์ž์—ฐ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์„ธ๋Š” ํ•จ์ˆ˜ ๐Ÿฅ Swift ํ’€์ด // ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ func checkPrimes(n: Int, isPrimes: inout [Bool]) { // 2 ๋ถ€.. 2021. 6. 1.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] BOJ 4803 ํŠธ๋ฆฌ :: ๊ทธ๋ž˜ํ”„, DFS + Python ๐Ÿ’ก ํ’€์ด ๋ฐฉ๋ฒ• ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋ฅผ ์ €์žฅํ•  2์ฐจ์› ๋ฐฐ์—ด graph, ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ 1์ฐจ์› ๋ฐฐ์—ด visited ์ด ํ•„์š”ํ•˜๋‹ค. DFS ๋ฅผ ํ†ตํ•ด ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ํŠธ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š”๋ฐ, ๋…ธ๋“œ ์ „์ฒด๋ฅผ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ์— ๋Œ€ํ•ด DFS ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๐Ÿ‘€ DFS ๊ณผ์ •์—์„œ ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ?! ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ "ํŠธ๋ฆฌ๋Š” ์‚ฌ์ดํด์ด ์—†๋Š” ์—ฐ๊ฒฐ ์š”์†Œ์ด๋‹ค." ๋ฅผ ํ†ตํ•ด,, ํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š”๋ฐ ์‚ฌ์ดํด์ด ์ƒ๊ธด๋‹ค๋ฉด, ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๊ฒƒ์ž„์„ ์ฒดํฌํ•œ๋‹ค. graph ๋ฐฐ์—ด์—์„œ๋Š” ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋ฅผ ์ „์ฒด ์ €์žฅํ•˜๋ฏ€๋กœ, ์ด์ „์— ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ ์‚ฌ์ดํด๋กœ ์ธ์‹ํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋…ธ๋“œ์™€ ์ด์ „ ๋…ธ๋“œ๊ฐ€ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (์ด์ „ ๋…ธ๋“œ == ๋‹ค์Œ ๋…ธ๋“œ) ๋Š” ์ด๋ฏธ ์ง€๋‚˜์˜จ ๊ธธ์ด๋ฏ€๋กœ DFS ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€.. 2021. 5. 30.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] BOJ 1743 ์Œ์‹๋ฌผ ํ”ผํ•˜๊ธฐ :: ๊ทธ๋ž˜ํ”„, DFS/BFS Swift ๋กœ ํ’€์–ด๋ณด๋Š” ๊ทธ๋ž˜ํ”„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค! ์ด๋ฒˆ์ฃผ์— Swift ์Šคํ„ฐ๋””์—์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚˜๊ฐ€๋Š”๋ฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””์—์„œ๋„ ๊ทธ๋ž˜ํ”„ ๋ฌธ์ œํ’€์ด๊ฐ€ ์ฃผ์ œ์ด๋„ค์š” ๐Ÿ˜€ ๊ฐœ๋…๊ณผ ๋ฌธ์ œ๋ฅผ ๋™์‹œ์— ์ ‘ํ•˜๋‹ˆ๊นŒ ์ข‹์•„์š”! 1743๋ฒˆ: ์Œ์‹๋ฌผ ํ”ผํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ํ†ต๋กœ์˜ ์„ธ๋กœ ๊ธธ์ด N(1 โ‰ค N โ‰ค 100)๊ณผ ๊ฐ€๋กœ ๊ธธ์ด M(1 โ‰ค M โ‰ค 100) ๊ทธ๋ฆฌ๊ณ  ์Œ์‹๋ฌผ ์“ฐ๋ ˆ๊ธฐ์˜ ๊ฐœ์ˆ˜ K(1 โ‰ค K โ‰ค 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ K๊ฐœ์˜ ์ค„์— ์Œ์‹๋ฌผ์ด ๋–จ์–ด์ง„ ์ขŒํ‘œ (r, c)๊ฐ€ ์ฃผ์–ด์ง„ www.acmicpc.net ๐Ÿ‘€ ํ’€์ด ๋ฐฉ๋ฒ• ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ขŒํ‘œ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ทธ๋ž˜ํ”„(2์ฐจ์› ๋ฐฐ์—ด์˜ ๋งต)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”! ์ขŒํ‘œ (r, c) ๋Š” 2์ฐจ์› ๋ฐฐ์—ด์—์„œ arr[r-1][c-1] ๊ณผ ๊ฐ™์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ฌธ์ œ๊ฐ€ ์ข€ ํŠน์ดํ•œ๋ฐ..) ํ†ต๋กœ์— ๋–จ์–ด์ง„ ์Œ์‹๋ฌผ .. 2021. 5. 27.
[์•Œ๊ณ ๋ฆฌ์ฆ˜/Swift] BOJ 14725 ๊ฐœ๋ฏธ๊ตด :: ๋ฌธ์ž์—ด, ํŠธ๋ผ์ด ํŠธ๋ฆฌ (Trie Tree) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” ์ง€๋‚œ์ฃผ ์ฃผ์ œ๋Š” "๋ฌธ์ž์—ด" ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ผ์ด ํŠธ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋ฌธ์ œ๊ฐ€ ์ธ์ƒ์ ์ด์—ˆ๊ณ , ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์ฃผ Swift ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…์—์„œ๋„ ํŠธ๋ฆฌ ์ค‘, ํŠธ๋ผ์ด ํŠธ๋ฆฌ๋ฅผ ๊ณต๋ถ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! 14725๋ฒˆ: ๊ฐœ๋ฏธ๊ตด ์ฒซ ๋ฒˆ์งธ ์ค„์€ ๋กœ๋ด‡ ๊ฐœ๋ฏธ๊ฐ€ ๊ฐ ์ธต์„ ๋”ฐ๋ผ ๋‚ด๋ ค์˜ค๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ๋จน์ด์˜ ์ •๋ณด ๊ฐœ์ˆ˜ N๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 1000) ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N+1 ๋ฒˆ์งธ ์ค„๊นŒ์ง€, ๊ฐ ์ค„์˜ ์‹œ์ž‘์€ ๋กœ๋ด‡ ๊ฐœ๋ฏธ ํ•œ๋งˆ๋ฆฌ๊ฐ€ ๋ณด๋‚ด์ค€ ๋จน์ด www.acmicpc.net ๐Ÿ‘€ ํ’€์ด ๋ฐฉ๋ฒ• ์ด ๋ฌธ์ œ์—์„œ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ์œผ๋กœ ํžŒํŠธ๋ฅผ ์คฌ์–ด์š”. ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ดค์„ ๋• ํŠธ๋ผ์ด ํŠธ๋ฆฌ๋ฅผ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์˜€์ง€๋งŒ, ์•„.. ๋ญ”๊ฐ€ ํŠธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด์•ผํ•˜๋Š” ๊ตฌ๋‚˜๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ์ฃ ! ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณด๋‹ˆ, ํŠธ๋ผ์ด ํŠธ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฌธ์ œ๋ผ๋Š” .. 2021. 5. 26.
728x90