Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

Algorithm 237

[๋ฐฑ์ค€] (Swift) 16234๋ฒˆ - ์ธ๊ตฌ์ด๋™ (BFS ํ’€์ด)

โœ… ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/16234 16234๋ฒˆ: ์ธ๊ตฌ ์ด๋™ N×Nํฌ๊ธฐ์˜ ๋•…์ด ์žˆ๊ณ , ๋•…์€ 1×1๊ฐœ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋•…์—๋Š” ๋‚˜๋ผ๊ฐ€ ํ•˜๋‚˜์”ฉ ์กด์žฌํ•˜๋ฉฐ, rํ–‰ c์—ด์— ์žˆ๋Š” ๋‚˜๋ผ์—๋Š” A[r][c]๋ช…์ด ์‚ด๊ณ  ์žˆ๋‹ค. ์ธ์ ‘ํ•œ ๋‚˜๋ผ ์‚ฌ์ด์—๋Š” ๊ตญ๊ฒฝ์„ ์ด ์กด์žฌํ•œ๋‹ค. ๋ชจ www.acmicpc.net โœ… ๋ฌธ์ œ ํ’€์ด ์•„์ด๋””์–ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฐํ•ฉ๊ตญ๊ฐ€์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— BFS๋กœ ํ’€์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์œ„์˜ ์ถœ๋ ฅ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด, ์ ์„ ์ด ์ƒ๊ธฐ๋Š” ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋‹ค. 30๊ณผ 40์€ ์ง์ ‘์ ์ธ ์—ฐ๊ฒฐ์€ ์•„๋‹ˆ์ง€๋งŒ, ์–ด์จ‹๋“  ์—ฐํ•ฉ๊ตญ๊ฐ€์ด๊ธดํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๋ฐ˜์— ์–ด๋ ต๊ฒŒ๋งŒ ์ƒ๊ฐ๋˜์—ˆ๋˜ "์–ด๋””์— ์ ์„ ์ด์ƒ๊ธฐ๋Š”์ง€ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š”๊ฐ€"๋ฅผ ์ „ํ˜€ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ์—ฐํ•ฉ๊ตญ๊ฐ€์— ๊ฐ™์ด ๋‹ด์•„์ฃผ๋ฉด๋œ..

Algorithm/Baekjoon 2022.07.06

[๋ฐฑ์ค€] (Swift) 16947๋ฒˆ - ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„  (BFS, DFS ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ)

๐ŸŸฃ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/16947 16947๋ฒˆ: ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„  ์ฒซ์งธ ์ค„์— ์—ญ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 3,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์—ญ๊ณผ ์—ญ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ๊ตฌ๊ฐ„์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ณ , ์—ญ์€ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ www.acmicpc.net ๐ŸŸฃ ๋ฌธ์ œ ํ’€์ด ์šฐ์„  ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ์–ด๋ ค์› ๋‹ค. ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๋ฉด์„œ + ๊ทธ๋ฆฌ๊ณ  ์ธํ„ฐ๋„ท์„ ์ฐพ์•„๋ณด๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ–ˆ๋‹ค. ์šฐ์„ , '์ˆœํ™˜์„  = ์‚ฌ์ดํด'์„ ์ฐพ์•„์•ผํ•œ๋‹ค. ์ด ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„๋กœ ๋ณด๋ฉด, '์‹ ๋„๋ฆผ'์—ญ์€ ์ด๋ฏธ ์ˆœํ™˜์„  (์‚ฌ์ดํด) ๋‚ด๋ถ€์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆœํ™˜์„ ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๊ฐ€ 0์ด๋‹ค. ํ•˜์ง€๋งŒ '๊นŒ์น˜์‚ฐ'์—ญ์ธ ๊ฒฝ์šฐ, ์ˆœํ™˜์„ ์ด ์•„๋‹ˆ๋ผ ์ง€์„ ์— ์†ํ•œ๋‹ค. ์ด ๊นŒ์น˜์‚ฐ์—ญ์€ '์ˆœํ™˜์„ '๊นŒ์ง€ ..

Algorithm/Baekjoon 2022.06.30

[๋ฐฑ์ค€] (Swift) 7576๋ฒˆ - ํ† ๋งˆํ†  (BFS)

๐Ÿ’ป ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/7576 7576๋ฒˆ: ํ† ๋งˆํ†  ์ฒซ ์ค„์—๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ M,N์ด ์ฃผ์–ด์ง„๋‹ค. M์€ ์ƒ์ž์˜ ๊ฐ€๋กœ ์นธ์˜ ์ˆ˜, N์€ ์ƒ์ž์˜ ์„ธ๋กœ ์นธ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, 2 ≤ M,N ≤ 1,000 ์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์ƒ์ž์— ์ €์žฅ๋œ ํ† ๋งˆํ†  www.acmicpc.net ๐Ÿ’ป ํ’€์ด BFS๋กœ ํ’€์—ˆ๋‹ค. ์‚ฌ์‹ค ์‹œ์ž‘์ ์ด ์—ฌ๋Ÿฌ๊ฐœ์ธ BFS๋Š” ์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ, ์ธํ„ฐ๋„ท์„ ์ฐธ๊ณ ํ•ด์„œ ํ’€์—ˆ๋‹คใ… ใ…  m๊ณผ n์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. 0, -1, 1์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์„ box๋กœ ์ž…๋ ฅ๋ฐ›์•˜๋‹ค. day๋Š” ๋ฉฐ์น ์ด ์ง€๋‚ฌ๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ ๋ฐฐ์—ด์ด๋‹ค. ๋’ค์—์„œ ๋ณด๋ฉด ํ•œ์นธํ•œ์นธ ์ต์–ด๋‚˜๊ฐˆ๋•Œ๋งˆ๋‹ค +1 ์„ ํ•ด์ค€๋‹ค. let mn = readLine()!.split(separato..

Algorithm/Baekjoon 2022.06.23

[๋ฐฑ์ค€] (Swift) 2178๋ฒˆ - ๋ฏธ๋กœํƒ์ƒ‰ (BFS ํ’€์ด)

๐Ÿ’ป ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2178 2178๋ฒˆ: ๋ฏธ๋กœ ํƒ์ƒ‰ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ •์ˆ˜๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ˆ˜๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๐Ÿ’ป ๋ฌธ์ œ ํ’€์ด ๊ธฐ๋ณธ์ ์ด BFS ๋ฌธ์ œ์ด๋‹ค. ๋ฏธ๋กœ๋ฅผ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋กœ ๋ณธ๋‹ค๋ฉด, ๊ฐ€์ค‘์น˜์—†๋Š” ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” BFS ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜๋ฉด๋œ๋‹ค! ์ฒ˜์Œ ์ž…๋ ฅ๋ฐ›๋Š” n๊ณผ m์„ nm ๋ฐฐ์—ด๋กœ ์ž…๋ ฅ๋ฐ›์•„์„œ nm[0], nm[1] ๋กœ ์‚ฌ์šฉํ•˜์˜€๋‹ค. dx, dy ๋Š” ์ƒํ•˜์ขŒ์šฐ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉํ–ฅํ‚ค! ์ด๋‹ค. arr๋Š” ์ž…๋ ฅ๋ฐ›๋Š” ๋ฏธ๋กœ visited๋Š” ๋ฏธ๋กœ์—์„œ ๋ฐฉ๋ฌธํ–ˆ๋Š”์ง€ ์•ˆํ–ˆ๋Š”์ง€ T/F ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฐ์—ด distanc..

Algorithm/Baekjoon 2022.06.23

[๋ฐฑ์ค€] (Swift) 4963๋ฒˆ - ์„ฌ์˜ ๊ฐœ์ˆ˜ (DFS ํ’€์ด)

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/4963 4963๋ฒˆ: ์„ฌ์˜ ๊ฐœ์ˆ˜ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ง€๋„์˜ ๋„ˆ๋น„ w์™€ ๋†’์ด h๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. w์™€ h๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ h๊ฐœ ์ค„์—๋Š” ์ง€๋„ www.acmicpc.net ๐Ÿ’ป ๋ฌธ์ œํ’€์ด ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ DFS๋ฌธ์ œ (BFS๋„ ๊ฐ€๋Šฅ) ๊ทธ๋ž˜ํ”„๋กœ ์ž…๋ ฅ ๋ฐ›์€ ํ›„, 1์ธ ๊ณณ์„ ์ „๋ถ€ ํƒ์ƒ‰ → ํƒ์ƒ‰ํ•˜๋ฉด์„œ ํ•ด๋‹น ์œ„์น˜ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ ๋œ ๊ณณ๋“ค์„ ๋Œ์•„๋‹ค๋‹ˆ๋‹ค๊ฐ€ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌํ•  ๊ณณ์ด ์—†์œผ๋ฉด count += 1 ์ตœ์ข…์ ์œผ๋กœ count ์ถœ๋ ฅ ๐Ÿ’ป ์†Œ์Šค์ฝ”๋“œ https://github.com/deslog/Algorithm/blob/main/Algorithm/Boj/4963_%EC%84%A..

Algorithm/Baekjoon 2022.06.01

[๋ฐฑ์ค€](Swift) 2667๋ฒˆ - ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ (DFS์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ œ)

๐Ÿ’๐Ÿป ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/2667 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ง€๋„๊ฐ€ ์žˆ๋‹ค. 1์€ ์ง‘์ด ์žˆ๋Š” ๊ณณ์„, 0์€ ์ง‘์ด ์—†๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ด ์ง€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ๊ฒฐ๋œ ์ง‘์˜ ๋ชจ์ž„์ธ ๋‹จ์ง€๋ฅผ ์ •์˜ํ•˜๊ณ , ๋‹จ์ง€์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๋ ค ํ•œ๋‹ค. ์—ฌ www.acmicpc.net ๐Ÿ’ป ๋ฌธ์ œ ํ’€์ด ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚˜๋ฉด, ํ˜„์žฌ์œ„์น˜์—์„œ ์œ„, ์•„๋ž˜, ์˜ค๋ฅธ์ชฝ, ์™ผ์ชฝ์„ ์‚ดํŽด๋ณด๋ฉด์„œ ์—ฐ๊ฒฐ์ด ๋˜์–ด์žˆ๋‚˜? ๋ฅผ ํŒ๋‹จํ•ด์•ผํ•œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด, ํ˜„์žฌ ์œ„์น˜๋Š” (0,0)์ผ๋•Œ ๋ฐฉํ–ฅํ‚ค๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค. x์ขŒํ‘œ์ธ 0์—๋‹ค๊ฐ€ dx[2]์„ ๋”ํ•˜๊ณ , y์—๋‹ค๊ฐ€ dy[2]์„ ๋”ํ•ด์ฃผ๋ฉด, (1,0)์œผ๋กœ ํ•œ์นธ ์•„๋ž˜๋กœ ์ด๋™ํ•  ๊ฒƒ์ด๋‹ค. ์ด์ฒ˜๋Ÿผ ์ด๋ ‡๊ฒŒ "์—ฐ๊ฒฐ๋œ 1์„ ์ฐพ์•„ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฐพ๋Š”๋ฌธ์ œ"๋ผ๋ฉด, ์ด๋ ‡๊ฒŒ ๋ฐฉํ–ฅํ‚ค๋ฅผ ์ƒ..

Algorithm/Baekjoon 2022.05.27

[๋ฐฑ์ค€] (Swift) 1707๋ฒˆ - ์ด๋ถ„๊ทธ๋ž˜ํ”„ (DFS๋กœ ํ’€๊ธฐ!)

๐Ÿ‘‰ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1707 1707๋ฒˆ: ์ด๋ถ„ ๊ทธ๋ž˜ํ”„ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ž˜ํ”„์˜ ์ •์ ์˜ ๊ฐœ์ˆ˜ V์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋ฌธ์ œ ํ’€์ด ์ด๋ถ„๊ทธ๋ž˜ํ”„ ์ด๋ฉด 1, ์ด๋ถ„๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹ˆ๋ฉด -1๋ฅผ flag์— ์ €์žฅํ•ด์ฃผ์—ˆ๋‹ค. ์ •์ ์€ ๊ฐ๊ฐ 1๊ณผ -1๋กœ ๊ตฌ๋ณ„ํ•ด์ฃผ์—ˆ๋‹ค. ๋งŒ์•ฝ ์ธ์ ‘ํ•œ ์ •์ ์ด ๋‘˜๋‹ค 1์ด๊ฑฐ๋‚˜, ๋‘˜๋‹ค -1์ด๋ผ๋ฉด ์ด๊ฑด ์ด๋ถ„๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹Œ๊ฑฐ๋‹ค! ์ด ๊ฐ’๋“ค์€ visited ์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” main์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์ฐจ๋ก€๋Œ€๋กœ ์„ค๋ช…์„ ์ž‘์„ฑํ•ด๋ณด์ž๋ฉด ์ฒ˜์Œ ์ž…๋ ฅ๋ฐ›๋Š” K ๋งŒํผ result๊ฐ€ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋ชจ..

Algorithm/Baekjoon 2022.05.25

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด๋ถ„๊ทธ๋ž˜ํ”„๋ž€? (ํŠน์ง•, ํƒ์ƒ‰๋ฐฉ๋ฒ•) (feat. BFS,DFS)

๐Ÿ™‹๐Ÿป‍โ™€๏ธ ์ด๋ถ„๊ทธ๋ž˜ํ”„ ์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๊ทธ๋ž˜ํ”„๊ฐ€ '๋‘๊ฐœ์˜ ์ƒ‰'์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ๊ฒƒ์„ ์ด๋ถ„๊ทธ๋ž˜ํ”„๋ผ๊ณ  ํ•œ๋‹ค. ๋นจ๊ฐ„์ •์ ๊ณผ ๊ฒ€์€์ •์  ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜์—ˆ๋Š”๋ฐ, ๊ฐ™์€ ๊ทธ๋ฃน๋ผ๋ฆฌ๋Š” ์ธ์ ‘ํ•˜์ง€ ์•Š์•„์•ผํ•œ๋‹ค. ์ฆ‰, ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ์ •์ ์ด ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ฃน์˜ ์ •์ ๋งŒ์ด ๊ฐ„์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งํ•œ๋‹ค. ๐Ÿ‘ป ์ด๋ถ„๊ทธ๋ž˜ํ”„์˜ ํŠน์ง• ์ด๋ถ„ ๊ทธ๋ž˜ํ”„์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” BFS์™€ DFS ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. DFS์™€ BFS๋ฅผ ํ†ตํ•ด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ™์€ depth์— ์žˆ๋Š” ์ •์ ์€ ๊ฐ™์€ ์ƒ‰์„ ๊ฐ–๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•˜๋‹ค. ๋ชจ๋“  ์ •์ ์„ ๋ฐฉ๋ฌธํ•ด์„œ ๊ฒ€์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(V+E)๋กœ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™๋‹ค. ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ์ด๋ถ„๊ทธ๋ž˜ํ”„์ธ์ง€ ํ™•์ธํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ• โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ: ์„œ๋กœ ์ธ์ ‘ํ•œ ์ •..

Algorithm/Basic 2022.05.25

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฑํŠธ๋ž˜ํ‚น์ด๋ž€? (Swift) (feat.DFS/BFS)

๐Ÿ™‹๐Ÿป‍โ™€๏ธ ๋ฐฑํŠธ๋ž˜ํ‚น์ด๋ž€? ๋ฐฑํŠธ๋ž˜ํ‚น์€ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ „๋ถ€ ๊ณ ๋ คํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ผ์ข…์˜ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, DFS, BFS ๋กœ ๋ชจ๋‘ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น์€, ๋‹ต์ด ๋  ์ˆ˜ ์—†๋Š” ํ›„๋ณด๋Š” ๋”์ด์ƒ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ๋Œ์•„๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๋ธŒ๋ฃจํŠธํฌ์Šค๋ณด๋‹ค ๋” ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค. ์™„์ „ํƒ์ƒ‰์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์—๋Š” DFS๊ฐ€ ์žˆ๋‹ค. ์žฌ๊ท€๋ฅผ ์ด์šฉํ•ด์„œ ํ˜„์žฌ์‹œ์ ์—์„œ ๊ณ„์†ํ•ด์„œ ๋ฐฉ๋ฌธํ• ๊ณณ์„ ํƒ์ƒ‰ํ•˜๊ณ , ๋ฐฉ๋ฌธํ•œ๋‹ค. ๋ฐ˜๋ฉด, ๋ฐฑํŠธ๋ž˜ํ‚น์€ ๋น„ํšจ์œจ์ ์ธ ๊ฒฝ๋กœ๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ๋ชฉํ‘œ์ง€์ ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•˜๋Š” ๊ณณ๋งŒ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ข…์˜ ๊ฐ€์ง€์น˜๊ธฐ๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ๐Ÿ™‹๐Ÿป‍โ™€๏ธ ๋ฐฑํŠธ๋ž˜ํ‚น ์ ˆ์ฐจ DFS ์ˆ˜ํ–‰ - ์œ ๋งํ•œ ๋…ธ๋“œ ๊ฒ€ํ†  - ์„œ๋ธŒํŠธ๋ฆฌ ์ด๋™ - ๋ฐฑํŠธ๋ž˜ํ‚น ์ˆ˜ํ–‰ 1. DFS ์ˆ˜ํ–‰ : ์žฌ๊ท€๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ DFS๋ฅผ ๊ทธ๋Œ€๋กœ..

Algorithm/Basic 2022.05.23

[๋ฐฑ์ค€] (Swift) 14889๋ฒˆ - ์Šคํƒ€ํŠธ์™€ ๋งํฌ (DFS-๋ฐฑํŠธ๋ž˜ํ‚น)

๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/14889 14889๋ฒˆ: ์Šคํƒ€ํŠธ์™€ ๋งํฌ ์˜ˆ์ œ 2์˜ ๊ฒฝ์šฐ์— (1, 3, 6), (2, 4, 5)๋กœ ํŒ€์„ ๋‚˜๋ˆ„๋ฉด ๋˜๊ณ , ์˜ˆ์ œ 3์˜ ๊ฒฝ์šฐ์—๋Š” (1, 2, 4, 5), (3, 6, 7, 8)๋กœ ํŒ€์„ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค. www.acmicpc.net ๋ฌธ์ œํ’€์ด ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ์™„์ „ํƒ์ƒ‰์œผ๋กœ ํ’€๊ฑฐ๋‚˜, ๋ฐฑํŠธ๋ž˜ํ‚น์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์™„์ „ํƒ์ƒ‰์€ ๋ง๊ทธ๋Œ€๋กœ ๊ทธ๋ž˜ํ”„ ์ „์ฒด๋ฅผ ํƒ์ƒ‰ํ•ด์„œ ํŒ€์›์ด ๋๋Š”์ง€, ์•ˆ๋๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ณ , ๋ฐฑํŠธ๋ž˜ํ‚น์€ "DFS ๋ฐฉ๋ฒ•์ด์ง€๋งŒ, ์–ด๋А์ •๋„์˜ depth์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜๋ฉด ํƒ์ƒ‰์ค‘์ง€"ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ž˜ ๋ชจ๋ฅด๋‹ˆ, ์ด ๋ฌธ์ œ๋ฅผ ํฌ์ŠคํŒ…ํ•œ ํ›„ ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ ๊ด€๋ จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํฌ์ŠคํŒ…์„ ํ•  ์˜ˆ์ •์ด๋‹ค. ์šฐ์„  ๋‚˜..

Algorithm/Baekjoon 2022.05.23
๋ฐ˜์‘ํ˜•