Algorithm 75

[์•Œ๊ณ ๋ฆฌ์ฆ˜] DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๊ตฌํ˜„(ํŒŒ์ด์ฌ)

๋ชฉ์ฐจ DFS์˜ ๊ฐœ๋… DFS์˜ ์žฅ๋‹จ์  DFS์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„ DFS์˜ ๊ตฌํ˜„ DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)์ด๋ž€? DFS(Depth-First Search) ๋˜๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์ด๋ผ๊ณ  ๋ถ€๋ฆ„ ๊ทธ๋ž˜ํ”„์—์„œ ๊นŠ์€ ๋ถ€๋ถ„์„ ๋จผ์ € ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ ๋˜๋Š” ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•จ DFS์˜ ๋™์ž‘ ๊ณผ์ • ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ๋…ธ๋“œ์— ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ ๋…ธ๋“œ๊ฐ€ ์กด์žฌํ•˜๋ฉด ๊ทธ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ๋„ฃ๊ณ  ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ ๋…ธ๋“œ๊ฐ€ ์—†๋‹ค๋ฉด ์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ๋…ธ๋“œ๋ฅผ ๊บผ๋ƒ…๋‹ˆ๋‹ค. ๋” ์ด์ƒ 2๋ฒˆ์˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. DFS์˜ ์žฅ๋‹จ์  ์žฅ์  ํ˜„์žฌ ๊ฒฝ๋กœ ์ƒ์˜ ๋…ธ๋“œ๋“ค๋งŒ์„ ๊ธฐ์–ตํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์ €์žฅ๊ณต๊ฐ„์˜ ์ˆ˜์š”๊ฐ€ ๋น„๊ต์  ์ ๋‹ค. ๋ชฉํ‘œ ๋…ธ๋“œ๊ฐ€ ๊นŠ์€ ๋‹จ๊ณ„์— ์žˆ์„ ๊ฒฝ์šฐ ๋‹ต์„ ๋นจ๋ฆฌ..

[๋ฐฑ์ค€(BOJ) / Python] 10026๋ฒˆ: ์ ๋ก์ƒ‰์•ฝ

๋ฌธ์ œ ๋งํฌ: www.acmicpc.net/problem/10026 10026๋ฒˆ: ์ ๋ก์ƒ‰์•ฝ ์ ๋ก์ƒ‰์•ฝ์€ ๋นจ๊ฐ„์ƒ‰๊ณผ ์ดˆ๋ก์ƒ‰์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋ผ์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ์€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ๊ณผ๋Š” ์ข€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ N×N์ธ ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ ์นธ์— R(๋นจ๊ฐ•), G(์ดˆ๋ก) www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ๊ณผ ์•„๋‹Œ ์‚ฌ๋žŒ์˜ matrix๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ ๋ก์ƒ‰์•ฝ์˜ matrix๋Š” G๋ฅผ ๋ชจ๋‘ R๋กœ ๋ฐ”๊ฟ”์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ matrix๋ฅผ BFS๋ฅผ ์ด์šฉํ•ด ์ƒ, ํ•˜, ์ขŒ, ์šฐ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฐ™์€ ์ƒ‰์„ ๋ชจ๋‘ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ƒ, ํ•˜, ์ขŒ, ์šฐ ์ธ๋ฑ์Šค๋ฅผ ํŽธํ•˜๊ฒŒ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด dx, dy๋ฅผ ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฌธํ•œ matrix์˜ ์›์†Œ๋Š” 0์„ ๋Œ€์ž…ํ•ด์„œ ๋ฐฉ๋ฌธ ์ฒ˜..

[๋ฐฑ์ค€(BOJ) / Python] 1260๋ฒˆ: DFS์™€ BFS

๋ฌธ์ œ ๋งํฌ: www.acmicpc.net/problem/1260 1260๋ฒˆ: DFS์™€ BFS ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… ๋‹จ์ˆœํžˆ DFS์™€ BFS๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” (N + 1) X (N + 1) ํฌ๊ธฐ์˜ matrix๋ฅผ ์ด์šฉํ•ด ์ •์  ๊ฐ„์˜ ๊ฐ„์„ ์„ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ dfs๋ฅผ ํ•  ๋• ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ 1๋กœ ํ‘œํ˜„ํ•˜๊ณ  bfs๋ฅผ ํ•  ๋• 0์œผ๋กœ ํ‘œํ˜„ํ•ด์„œ visited๋ฅผ ๋”ฐ๋กœ ์ดˆ๊ธฐํ™”ํ•  ํ•„์š” ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค์ฝ”๋“œ def dfs(v): # ๋ฐฉ๋ฌธ ๋…ธ๋“œ 1๋กœ ํ‘œํ˜„..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python] ํƒ€๊ฒŸ ๋„˜๋ฒ„

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํƒ€๊ฒŸ ๋„˜๋ฒ„ n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)์œผ๋กœ ํ™•์ธํ•ด์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๋ฅผ ์…Œ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค์ฝ”๋“œ answer = 0 def dfs(idx, numbers, total_sum, target): global answer n = len(numbers) # ๋งˆ์ง€๋ง‰ ์›์†Œ๊นŒ์ง€ ๊ณ„์‚ฐํ–ˆ๋‹ค๋ฉด return if ..

[๋ฐฑ์ค€(BOJ) / Python] 1946๋ฒˆ: ์‹ ์ž… ์‚ฌ์›

๋ฌธ์ œ ๋งํฌ: www.acmicpc.net/problem/1946 1946๋ฒˆ: ์‹ ์ž… ์‚ฌ์› ์ฒซ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 ≤ T ≤ 20)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์— ์ง€์›์ž์˜ ์ˆซ์ž N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ์ง€์›์ž์˜ ์„œ๋ฅ˜์‹ฌ์‚ฌ ์„ฑ www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… ๋ฉด์ ‘์ž๋“ค์„ ์„œ๋ฅ˜ ์ ์ˆ˜๊ฐ€ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ ๋’ค, ๋ฉด์ ‘ ์ ์ˆ˜์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฅ˜ ์ ์ˆ˜๊ฐ€ 1๋“ฑ์ธ ์‚ฌ๋žŒ์€ ๋ฌด์กฐ๊ฑด ๋ฝ‘ํžˆ๊ณ , 2๋“ฑ์ธ ์‚ฌ๋žŒ์€ 1๋“ฑ๋ณด๋‹ค ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋†’์œผ๋ฉด ๋ฝ‘ํž™๋‹ˆ๋‹ค. 3๋“ฑ์€ 1, 2๋“ฑ๋ณด๋‹ค ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋†’์ด๋ฉด ๋ฝ‘ํžˆ๊ณ  ๋‚˜๋จธ์ง€ ์‚ฌ๋žŒ๋“ค๋„ ๋น„์Šทํ•˜๊ฒŒ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„œ๋ฅ˜ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋ฉด์ ‘์ž๋ฅผ ์ •๋ ฌํ•˜๊ณ , ๊ฐ ๋ฉด์ ‘์ž๋“ค์˜ ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋ฉด์ ‘ ์ปคํŠธ๋ผ์ธ๋ณด๋‹ค ๋” ๋†’์€..

[๋ฐฑ์ค€ BOJ / Python ] 14916๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ

๋ฌธ์ œ ๋งํฌ: www.acmicpc.net/problem/14916 14916๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ ์ฒซ์งธ ์ค„์— ๊ฑฐ์Šค๋ฆ„๋ˆ ์•ก์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… ๋งŒ์•ฝ n์ด 1์ด๋‚˜ 3์ด ์ฃผ์–ด์ง„๋‹ค๋ฉด, 2์›๊ณผ 5์›์œผ๋กœ๋Š” ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋™์ „์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ์ค˜์•ผ ํ•˜๋ฏ€๋กœ 5์›์„ ๋จผ์ € ๊ฑฐ์Šฌ๋Ÿฌ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. n์„ 5๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๋‚˜๋จธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 5๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. (x: n์„ 5๋กœ ๋‚˜๋ˆˆ ๋ชซ) ๋‚˜๋จธ์ง€๊ฐ€ 0์ผ ๊ฒฝ์šฐ 5์›์œผ๋กœ๋งŒ ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ answer = x ๋‚˜๋จธ์ง€๊ฐ€ 1์ผ ๊ฒฝ์šฐ 5์›์„ ํ•˜๋‚˜ ๋นผ๊ณ  2์› 3๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. => 5x + 1 = 5(x - 1) + (2 * 3) ๋”ฐ๋ผ์„œ anwer = (x - 1) + ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜(ํƒ์š•๋ฒ•)

๋ชฉ์ฐจ Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋… Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์‹œ Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์ง€๊ธˆ ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ• ์ฆ‰, ์ „ํ›„ ๊ฒฐ์ •์— ๊ด€๊ณ„์—†์ด ๋‹น์‹œ "๊ฐ€์žฅ ์ตœ๊ณ "๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒƒ์„ ์„ ํƒํ•ด์„œ ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋กœ MST(์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‰ฌ์šด ์˜ˆ์‹œ ์ ์›์ด ๊ณ„์‚ฐ์„ ๋งˆ์น˜๊ณ  ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋Œ๋ ค์ฃผ๋Š” ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. ์นด์šดํ„ฐ์—๋Š” ๊ฑฐ์Šค๋ฆ„๋ˆ์œผ๋กœ ์‚ฌ์šฉํ•  500์›, 100์›, 50์›, 10์›์งœ๋ฆฌ ๋™์ „์ด ์ถฉ๋ถ„ํžˆ ๋งŽ์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์†๋‹˜์—๊ฒŒ N์›์„ ๊ฑฐ์Šฌ๋Ÿฌ ์ค˜์•ผ ํ•  ๋•Œ, ์ตœ์†Œ ๊ฐœ์˜ ๋™์ „์œผ๋กœ ๊ฑฐ์Šค๋ฆ„ ๋ˆ์„ ์ค„ ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜์„ธ์š”. ๋‹จ, ๊ฑฐ์Šฌ๋Ÿฌ ์ค˜์•ผ ํ•  ๋ˆ N์€ ํ•ญ์ƒ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / C++] ์ง•๊ฒ€๋‹ค๋ฆฌ

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/43236 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ง•๊ฒ€๋‹ค๋ฆฌ ์ถœ๋ฐœ์ง€์ ๋ถ€ํ„ฐ distance๋งŒํผ ๋–จ์–ด์ง„ ๊ณณ์— ๋„์ฐฉ์ง€์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ์‚ฌ์ด์—๋Š” ๋ฐ”์œ„๋“ค์ด ๋†“์—ฌ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์œ„ ์ค‘ ๋ช‡ ๊ฐœ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋„์ฐฉ์ง€์ ์ด 25๋งŒํผ ๋–จ์–ด์ ธ ์žˆ๊ณ , ๋ฐ”์œ„๊ฐ€ programmers.co.kr ํ’€์ด ์ด๋ถ„ ํƒ์ƒ‰์œผ๋กœ ํ’€ ์•„์ด๋””์–ด๊ฐ€ ๋„์ €ํžˆ ์•ˆ ๋– ์˜ฌ๋ผ์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ์กฐํ•ด์„œ ํ’€์—ˆ๋‹ค. (hyeon930๋‹˜ ํ’€์ด) ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ๋ฐ”์œ„๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ด๋ถ„ ํƒ์ƒ‰์„ ์ด์šฉํ•ด ๊ฐ ์ง€์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•ด์•ผ ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋ฉด, "๊ฐ ์ง€์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์ด x๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š”๊ฐ€?"๋ฅผ ๋งŒ์กฑํ•˜๋Š” x๋“ค ์ค‘์— ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๋Š”..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / C++] ๋‹จ์†์นด๋ฉ”๋ผ

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42884 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‹จ์†์นด๋ฉ”๋ผ [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr ํ’€์ด ๋‚˜๋Š” ์ฒ˜์Œ์— ์ฐจ๋Ÿ‰์„ ์ง„์ž… ์‹œ์ ์ด ๋น ๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ ์ง„์ถœ ์‹œ์ ์ด ๋น ๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ ํ›„ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๊ฒŒ ๋” ๊ฐ„๋‹จํ–ˆ๋‹ค. ์ง„์ถœ ์‹œ์ ์ด ๋น ๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์ฐจ๋Ÿ‰์„ ์ •๋ ฌํ•œ๋‹ค. 1) ์ฐจ๋Ÿ‰์˜ ์ง„์ž… ์‹œ์ ์ด camera๋ณด๋‹ค ์•ž์— ์žˆ๋‹ค๋ฉด(์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด) => ์ฐจ๋Ÿ‰ ๊ฒฝ๋กœ๊ฐ€ camera ์œ„์น˜์— ํฌํ•จ๋˜๋ฏ€๋กœ ์ถ”๊ฐ€ ์นด๋ฉ”๋ผ ์„ค์น˜ ํ•„์š” ์—†์Œ 2) ์ฐจ๋Ÿ‰์˜ ์ง„์ž… ์‹œ์ ์ด camera๋ณด๋‹ค ๋’ค์— ์žˆ๋‹ค๋ฉด(ํฌ๋‹ค๋ฉด) => ํ˜„์žฌ ์ฐจ๋Ÿ‰์˜ ์ง„์ถœ ์‹œ์ ์— ๋‹ค๋ฅธ ์นด๋ฉ”๋ผ๋ฅผ ์„ค์น˜..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / C++] ์„ฌ ์—ฐ๊ฒฐํ•˜๊ธฐ

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42861 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์„ฌ ์—ฐ๊ฒฐํ•˜๊ธฐ 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr ํ’€์ด Kruskal(ํฌ๋ฃจ์Šค์นผ) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค. ์„ฌ ์‚ฌ์ด์— ๋‹ค๋ฆฌ ์—ฐ๊ฒฐ์— ๋“œ๋Š” ๋น„์šฉ์ด ์ ์€ ์ˆœ์„œ๋Œ€๋กœ costs๋ฅผ ์ •๋ ฌํ•œ๋‹ค. set[i]๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด์ค€๋‹ค. set[i]๋Š” i๋ฒˆ์งธ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด์ด๋‹ค. ๋ถ€๋ชจ๋…ธ๋“œ๋ž€ i๋ฒˆ์งธ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋…ธ๋“œ ์ค‘์—์„œ ์ธ๋ฑ์Šค๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ๋…ธ๋“œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋…ธ๋“œ0๊ณผ ๋…ธ๋“œ1์ด ์—ฐ๊ฒฐ๋˜๋ฉด set[0] = 0, set[1] = 0์ด ์ €์žฅ๋œ๋‹ค. ์ •๋ ฌ๋œ costs๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ์„ ๋ฐ˜๋ณตํ•œ๋‹ค. - ์—ฐ..