์ฌ๊ทํจ์ : ์๊ธฐ์์ ์ ํธ์ถํ๋ ํจ์
์ด๋ stack ์ด๋ผ๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ค.
์ฌ๊ทํจ์๋ for๋ฌธ ์ฆ ๋ฐ๋ณต๋ฌธ์ ๋์ฒด์์ด๋ค.
n ์ ๋ ฅ๊ฐ์ 3์ผ๋ก ๊ฐ์ ํ๊ณ ์ค๋ช ์ ํด๋ณด๊ฒ ์ต๋๋ค.
12 ์ค: ์ ๋ ฅ๊ฐ n ์ฆ, 3 ์ ๋ฐ์.
13 ์ค: DFS(3): DFSํจ์๋ฅผ ํธ์ถํ์ฌ 3์ ๋๊น.
4 ์ค: ํจ์ DFS (3) if ๋ฌธ ์คํ
5 ์ค: ๋ง์ฝ x ๊ฐ 0๋ณด๋ค ํฌ๋ค๋ฉด ์คํ. 0์ด๊ฑฐ๋ ์์ผ๋ฉด ์ข ๋ฃ
6 ์ค: x ์ถ๋ ฅ -> 3์ด ์ถ๋ ฅ๋จ.
7์ค ; DFS ํจ์ ํธ์ถ [์ด ๋ถ๋ถ์ด ์ฌ๊ทํจ์์ด๋ค. ์๋ํ๋ฉด ์๊ธฐ์์ ์ ํจ์๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ]
DFS(3-1) ๋ก DFS(2)๊ฐ ๋๋ฉฐ ํจ์ DFS๋ฅผ ํธ์ถํจ
๋ค์ 4๋ฒ์ค๋ก ์ฌ๋ผ๊ฐ์ def DFS(2): ๊ฐ ๋๋ฉด์
5๋ฒ์ค: if 2> 0 : ๊ฐ ์คํ๋๊ณ ์ฐธ์ด๋ฏ๋ก
6๋ฒ์ค: print(2) ๋ก ์ธํด์ 2๊ฐ ์ถ๋ ฅ
7๋ฒ์ค: DFS(2-1) ์ด ๋จ. DFS(1)๋ก ์๊ธฐ ์์ ํจ์์ธ DFS๋ฅผ ํธ์ถ [์ฌ๊ทํจ์]
์ด๋ฐ ์๋ฆฌ๋ก ๊ฒ์ ๋ฐ๋ณต๋๋ค๊ฐ
n ์ด 0์ด ๋๋ฉด ์ข ๋ฃ๋จ.
๊ฒฐ๊ณผ๋
'์๊ณ ๋ฆฌ์ฆ ๐ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D3]14692. ํต๋๋ฌด ์๋ฅด๊ธฐ.py (2) | 2022.10.21 |
---|---|
[D1] 2027. ๋๊ฐ์ ์ถ๋ ฅํ๊ธฐ.py (1) | 2022.10.12 |
๋ฐ๋์ด ์น์ฐจ(DFS) (2) | 2022.10.08 |
[python] ์ ์ญ๋ณ์์ ์ง์ญ๋ณ์ ์ ๋ฆฌ (0) | 2022.10.08 |
ํฉ์ด ๊ฐ์ ๋ถ๋ถ์งํฉ(DFS) (0) | 2022.10.07 |