BackTracking

λ°±νŠΈλž˜ν‚Ή(BackTracking)은 μ΄λ¦„μ˜ 뜻과 μœ μ‚¬ν•œ μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€.

κ°€λŠ₯ν•œ λͺ¨λ“  경둜λ₯Ό νƒμƒ‰ν•˜λ‹€κ°€, μ›ν•˜λŠ” 쑰건이 μ•„λ‹ˆλ©΄ 더 이상 탐색을 ν•˜μ§€ μ•Šκ³  이전 λ‹¨κ³„λ‘œ λŒμ•„κ°€λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€.

λ°±νŠΈλž˜ν‚Ήκ³Ό DFS

λ°±νŠΈλž˜ν‚Ήκ³Ό DFS μ•Œκ³ λ¦¬μ¦˜μ€ μœ μ‚¬ν•œ 뢀뢄이 μžˆλ‹€.

νŠΈλ¦¬κ°€ ν•˜λ‚˜ μžˆλ‹€κ³  μƒκ°ν–ˆμ„ λ•Œ, DFSλŠ” λͺ¨λ“  λ…Έλ“œλ₯Ό λ‹€ νƒμƒ‰ν•œλ‹€.

ν•˜μ§€λ§Œ λ°±νŠΈλž˜ν‚Ήμ€ νƒμƒ‰ν•˜λ©΄μ„œ 쑰건에 ν•΄λ‹Ήν•˜μ§€ μ•Šμ€ 뢀뢄이 μžˆλ‹€λ©΄, μ΄μ „μ˜ νƒμƒ‰μœΌλ‘œ λŒμ•„κ°„λ‹€.

ν•˜λ‚˜μ˜ 트리λ₯Ό μ˜ˆμ‹œλ‘œ λ“€μ–΄λ³΄μž.

λ£¨νŠΈμ—μ„œλΆ€ν„° 각 λ ˆλ²¨λ³„λ‘œ 숫자 1κ°œμ”© 뽑아야 ν•˜κ³ , κ°€μš΄λ° μˆ«μžκ°€ 2κ°€ λ“€μ–΄κ°€λ©΄ μ•ˆλœλ‹€λŠ” 쑰건이 μžˆλ‹€κ³  κ°€μ •ν•΄λ³΄μž. (4-2-1 -> X)

λ°±νŠΈλž˜ν‚Ήμ„ μ΄μš©ν•˜λ©΄ 2둜 λ“€μ–΄κ°€λŠ” μˆœκ°„ 쀑간 μˆ«μžκ°€ 2κ°€ λ˜μ–΄μ„œ 2 μ΄ν›„λ‘œμ˜ 탐색을 ν•˜μ§€ μ•Šκ³  6으둜 λ„˜μ–΄κ°ˆ 것이닀.

ν•˜μ§€λ§Œ DFSλŠ” λͺ¨λ“  경우λ₯Ό νƒμƒ‰ν•œλ‹€.

Last updated