@ENFJ 2022. 10. 6. 13:06

1.  λ³€μˆ˜ n 에 μ™ΈλΆ€λ‘œλΆ€ν„° μž…λ ₯받은 값을 μ €μž₯ν•©λ‹ˆλ‹€.

2.  ch λΌλŠ” 리슀트λ₯Ό λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.  값이 0 으둜 ν•΄μ„œ n+1 크기둜 λ§Œλ“€μ–΄μ€λ‹ˆλ‹€.


 v = 1

3. DFS(1) λŠ” 4λ²ˆμ€„μ— ν•¨μˆ˜ DFS 의 v값에 1을 λ„£μ–΄ μ‹€ν–‰μ‹œν‚΅λ‹ˆλ‹€.

4λ²ˆμ€„ : ν•¨μˆ˜ DFS 에 1이 λ“€μ–΄κ°€λ©΄,

n(μ—¬κΈ°μ„œ n을 3으둜 κ°€μ •ν•œλ‹€) +1 의 값은 4이닀. 

5λ²ˆμ€„ :  vκ°€ n+1 와 κ°™λ‹€λ©΄ λ°”λ‘œ μ•„λž˜ for문을 μ‹€ν–‰μ‹œν‚¨λ‹€. ν˜„μž¬ vμ—λŠ” 1이 λ“€μ–΄μžˆκΈ° λ•Œλ¬Έμ— 1 !=4 μ΄λ―€λ‘œ 10λ²ˆμ€„ elseκ°€ 싀행이 λœλ‹€.

 

11λ²ˆμ€„: ch[1] =1 μ΄λ―€λ‘œ , 

 

μ΄λ ‡κ²Œ λœλ‹€.

 


 v = 2

12λ²ˆμ€„ : DFS(v+1) μ—λŠ”  DFS(2)κ°€ 될것이고, DFS(2)λŠ”   4λ²ˆμ€„μ— μžˆλŠ”  ν•¨μˆ˜ DFS 에 μ΄λ²ˆμ—λŠ” 1μ΄μ•„λ‹Œ 2λ₯Ό λ„£μ–΄μ„œ μ‹€ν–‰μ‹œμΌœμ€€λ‹€.

5λ²ˆμ€„ : if 2 == 4:  κ°€ 되고, μ΄λ•Œ κ±°μ§“μ΄λ―€λ‘œ, else 문으둜 μ΄λ™ν•œλ‹€. 

ν˜„μž¬ v=2 μž„μ„ μžŠμ§€λ§μž.  그럼 v=2 λ₯Ό κ°€μ§€κ³  else 문에 λ„μ°©ν–ˆμœΌλ‹ˆ,

11λ²ˆμ€„: ch[2] =1 이 λœλ‹€. 

12λ²ˆμ€„: DFS(2+1) 둜 DFS(3)이 되고, DFS(3)은 λ‹€μ‹œ 4λ²ˆμ€„μ— μœ„μΉ˜ν•œ ν•¨μˆ˜ DFS(v)λ₯Ό ν˜ΈμΆœν•œλ‹€.


 v = 3

4λ²ˆμ§Έμ€„ :  def DFS(3) 

5λ²ˆμ§Έμ€„ : if 3 == 3+1:      < false 둜 else 문으둜 μ΄λ™ν•œλ‹€.

10λ²ˆμ€„: ch[3] =1      μ΄λ―€λ‘œ μ•„λž˜ μ‚¬μ§„μ²˜λŸΌ 3λ²ˆμ— 1을 찍어쀀닀.

12λ²ˆμ€„: DFS(4) κ°€ 되고 또 λ‹€μ‹œ 4λ²ˆμ€„μ— μžˆλŠ” ν•¨μˆ˜ DFS(v) λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ΄λ™ν•œλ‹€.

 


 v = 4

4λ²ˆμ€„: def DFS(4)

5λ²ˆμ€„: if 4 == 3+1 이 되고 λ“œλ””μ–΄ 참이 λœλ‹€. 참이기 λ•Œλ¬Έμ— λ°”λ‘œ μ•„λž˜ for문을 μ‹€ν–‰μ‹œν‚¨λ‹€.

6λ²ˆμ€„: for i in range(1, n+1): 은 1λΆ€ν„° nκΉŒμ§€ λ°˜λ³΅ν•˜λŠ” μ˜λ―Έμ΄λ‹€. μ—¬κΈ°μ„œ n을 3으둜 μž‘μ•˜κΈ° λ•Œλ¬Έμ—  

for 1 in range (1, 4)κ°€ λœλ‹€.

7λ²ˆμ€„: if ch[1] ==1 이라면 

8λ²ˆμ€„ : print 문을 ν†΅ν•˜μ—¬ i κ°’ 즉 리슀트 μœ„μ—  인덱슀 κ°’ 이 μ°νžŒλ‹€.

ch μΈλ±μŠ€κ°€ 1인값은 1, 2, 3 λͺ¨λ‘ λ‹€ ν•΄λ‹Ήλ˜λ―€λ‘œ 1 2 3 이 좜λ ₯λœλ‹€.