๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (4)

Hey Tech

DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜ #ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค #ํƒ€๊ฒŸ๋„˜๋ฒ„ | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ์›๋ณธ: https://programmers.co.kr/learn/courses/30/lessons/43165?language=python3 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํƒ€๊ฒŸ ๋„˜๋ฒ„ n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• โš™๏ธ ํ™œ์šฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜: DFS ์ €์˜ ์ ‘๊ทผ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ค‘์‹ฌ์œผ๋กœ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋ถ€๋ชจ ๋…ธ๋“œ์— number๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๋Š” ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜์—ฌ ์ž์‹ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ํ•ด๋‹น ์ž์‹ ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ๋ถ€๋ชจ ๋…ธ๋“œ๋กœ ์น˜ํ™˜ํ•ด ์œ„ ์ž‘์—…์„ ๋ฐ˜๋ณต ์ˆ˜..

์™„์ „ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ #ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค #๋ชจ์˜๊ณ ์‚ฌ | ํŒŒ์ด์ฌ ๊ตฌํ˜„

๐Ÿ“š ๋ฌธ์ œ ๋ฌธ์ œ ์›๋ณธ: https://programmers.co.kr/learn/courses/30/lessons/42840?language=python3 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ชจ์˜๊ณ ์‚ฌ ์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” programmers.co.kr ๐Ÿค” ์ ‘๊ทผ๋ฒ• โš™๏ธ ํ•ต์‹ฌ ์ž๋ฃŒ๊ตฌ์กฐ: ์™„์ „ ํƒ์ƒ‰ ๋ฌธ์ œํ•ด๊ฒฐ ์ „๋žต์˜ ํ•ต์‹ฌ์€ ์ˆ˜ํฌ์ž๋ณ„ '์ฐ๊ธฐ ํŒจํ„ด'์„ ๊ณ ๋ คํ•ด ๋ฌธ์ œ๋ณ„ ์ฐ์€ ๋ฒˆํ˜ธ๋ฅผ ์œ ์ถ”ํ•ด ๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณธ ๋ฌธ์ œ์—์„œ 1๋ฒˆ ์ˆ˜ํฌ์ž๋Š” 5๊ฐœ์”ฉ ํ•œ ํŒจํ„ด์œผ๋กœ ์ •๋‹ต์„ ์ฐ๊ณ , 2๋ฒˆ ์ˆ˜ํฌ์ž๋Š” 8๊ฐœ์”ฉ, 3๋ฒˆ ์ˆ˜ํฌ์ž๋Š” 10๊ฐœ์”ฉ ์ฐ๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜ํฌ์ž๋ณ„ ์ •๋‹ต ์ฐ๋Š” ํŒจํ„ด..

๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฑ์ค€#12845 #์‹ค๋ฒ„ | "๋ชจ๋‘์˜ ๋งˆ๋ธ”" | ํŒŒ์ด์ฌ ํ’€์ด

๋ฌธ์ œ ๋ฌธ์ œ ์›๋ณธ: https://www.acmicpc.net/problem/12845 12845๋ฒˆ: ๋ชจ๋‘์˜ ๋งˆ๋ธ” ์˜๊ด€์ด๋Š” ๊ฒŒ์ž„์„ ์ข‹์•„ํ•œ๋‹ค. ๋ณ„์˜๋ณ„ ๊ฒŒ์ž„์„ ๋‹ค ํ•˜์ง€๋งŒ ๊ทธ ์ค‘์—์„œ ์ œ์ผ ์ข‹์•„ํ•˜๋Š” ๊ฒŒ์ž„์€ ๋ชจ๋‘์˜ ๋งˆ๋ธ”์ด๋‹ค. ์–ด๊น€์—†์ด ์˜ค๋Š˜๋„ ์˜๊ด€์ด๋Š” ํ•™๊ต ๊ฐ€๋Š” ๋ฒ„์Šค์—์„œ ์บ๋ฆญํ„ฐ ํ•ฉ์„ฑ ์ด๋ฒคํŠธ๋ฅผ ์ฐธ์—ฌํ–ˆ๋‹ค. ์ด๋ฒˆ ์ด www.acmicpc.net ์ ‘๊ทผ๋ฒ• ๊ฐ€์žฅ ๋†’์€ ๊ณจ๋“œ๋ฅผ ํš๋“ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ๋ฒจ์ด ๊ฐ€์žฅ ๋†’์€ ์นด๋“œ 1์žฅ์„ ๊ณ ์ •ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์นด๋“œ์™€ ์ฐจ๋ก€๋กœ ๋ง์…ˆํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์–ด์ฐจํ”ผ ๋ชจ๋“  ์นด๋“œ์˜ ๋ ˆ๋ฒจ๊ณผ ํ•ฉ์‚ฐํ•ด์•ผ ํ•˜๋ฉฐ, ๋‘ ์นด๋“œ์˜ ๋ง์…ˆ์ด(=ํš๋“ ๊ณจ๋“œ๋Ÿ‰) ์ตœ๋Œ€๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์˜ ์นด๋“œ 1์žฅ์„ ๊ณ ์ •์‹œํ‚ค๋ฉด ๋˜๋Š” ๊ฒƒ์ด์ฃ . ์†Œ์Šค์ฝ”๋“œ # ์นด๋“œ ๊ฐœ์ˆ˜ ์ž…๋ ฅ๋ฐ›๊ธฐ n = int(input()) # ์นด๋“œ๋ณ„ ๋ ˆ๋ฒจ ์ž…๋ ฅ๋ฐ›๊ธฐ level_l..

ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ(Floyd-Warshall) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ดํ•ด(+Python ๊ตฌํ˜„)

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ(๊ธธ ์ฐพ๊ธฐ)์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์—์„œ๋„ ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๐Ÿ“š ๋ชฉ์ฐจ 1. ์ตœ๋‹จ๊ฒฝ๋กœ(๊ธธ ์ฐพ๊ธฐ) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? 2. ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋… 3. ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠน์ง• 4. ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋™์ž‘ ๊ณผ์ • 5. ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„(Python) 1. ์ตœ๋‹จ๊ฒฝ๋กœ(๊ธธ์ฐพ๊ธฐ) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ธธ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ๋ง ๊ทธ๋Œ€๋กœ ํŠน์ • ์ง€์ ๊นŒ์ง€ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ์—์„œ ๋นˆ์ถœ ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜• 2๊ฐ€์ง€ ์ค‘ 2๋ฒˆ์งธ, ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Dijkstra Algorithm) ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Floyd-Warshal..