[μ•Œκ³ λ¦¬μ¦˜] 10κ°• - κ·Έλž˜ν”„(3)

2026. 5. 4. 13:36Β·πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ§¬μ•Œκ³ λ¦¬μ¦˜

βœ… 1. 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜

(1) 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜μ΄λž€?

  • 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜: 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜κ³Ό λ™μΌν•˜κ²Œ 단일 좜발점으둜 λΆ€ν„° λͺ¨λ“  μ •μ κ°„μ˜ μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μž„.
  • 단, 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μ€ 음의 κ°€μ€‘μΉ˜λ₯Ό κ°–λŠ” 간선이 μ‘΄μž¬ν•˜λŠ” κ²½μš°μ—λŠ” μ²˜λ¦¬κ°€ λΆˆκ°€λŠ₯ ν–ˆμ§€λ§Œ, 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜μ€ 음의 κ°€μ€‘μΉ˜λ₯Ό κ°–λŠ” 간선이 μ‘΄μž¬ν•˜λŠ” κ²½μš°μ—λ„ μ²˜λ¦¬κ°€ κ°€λŠ₯ν•œ μ•Œκ³ λ¦¬μ¦˜μž„.
  • λŒ€μ‹  쑰건은 음의 사이클이 μ—†λŠ” κ²½μš°μ— ν•œν•΄μ„œ κ°€λŠ₯함.
  • 즉, 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μ˜ 경우 κ°€μž₯ 짧은 κ°„μ„  ν•˜λ‚˜λ₯Ό κΈ°μ€€μœΌλ‘œ κ·Έ 끝에 μžˆλŠ” 정점을 μ„ νƒν•˜λ©° νΌμ Έλ‚˜κ°€λŠ”λ° λ°˜ν•΄, 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜μ€ κ·Έλž˜ν”„μ— μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  간선을 λ§€ λΌμš΄λ“œλ§ˆλ‹€ ν›‘μœΌλ©° μ΅œλ‹¨ 거리λ₯Ό μ—…λ°μ΄νŠΈν•˜κΈ° λ•Œλ¬Έμ— 음수 κ°€μ€‘μΉ˜λ₯Ό λ°œκ²¬ν•˜λ”λΌλ„ λ‹€μŒ λΌμš΄λ“œμ—μ„œ λ°˜λ“œμ‹œ κ·Έ 값을 λ°˜μ˜ν•˜κ²Œ λ˜λŠ” μ›λ¦¬μž„.
  • 즉, 벨만 ν¬λ“œλŠ” λͺ¨λ“  경둜의 경우의 수λ₯Ό ν•˜λ‚˜λ„ 빠짐없이 κ²€μ¦ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λ³Ό 수 있음.

(2) 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜ - μˆ˜ν–‰ κ³Όμ •

(3) 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜ - 둜직

  • (1) μ΄ˆκΈ°ν™”: λͺ¨λ“  정점에 λŒ€ν•΄μ„œ μ΄ˆκΈ°ν™” λ°˜λ³΅λ¬Έμ„ μˆ˜ν–‰ν•¨.
  • (2) κ°„μ„  μ™„ν™” 반볡: μ •μ μ˜ κ°œμˆ˜κ°€ V개일 λ•Œ, 총 V-1번 λ°˜λ³΅ν•˜λ©°, λ§€ λ°˜λ³΅λ§ˆλ‹€ κ·Έλž˜ν”„μ— μžˆλŠ” λͺ¨λ“  κ°„μ„ (E개) ν•˜λ‚˜ν•˜λ‚˜ ν™•μΈν•˜λ©°, 이 과정을 거치면 λͺ¨λ“  μ •μ κΉŒμ§€μ˜ μ΅œλ‹¨ 거리가 μˆ˜ν•™μ μœΌλ‘œ 확정됨.

(4) 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜ - μ˜ˆμ‹œ(1)

  • 정점(1) 의 λΆ€μˆ˜λœ κ°„μ„ μ˜ 정점(2, 3)의 μ΅œλ‹¨ κ²½λ‘œλŠ” 2(4), 3(2)κ°€ 되고, 1 -> 2 -> 4의 κ²½μš°μ—λŠ” 정점(3)κ³Ό 정점(4)λŠ” 각 2, 3의 κ°€μ€‘μΉ˜λ₯Ό κ°€μ§€κ²Œ λ˜μ–΄ μ΅œμ’…μ μœΌλ‘œ μ΅œλ‹¨ 경둜(4+2+3= 9)의 μ΅œλ‹¨ 경둜λ₯Ό 얻을 수 μžˆμ§€λ§Œ, 1 -> 2 -> 3 -> 4 의 κ²½μš°μ—λŠ” 정점(3)κ³Ό 정점(4)λŠ” 각 1, 2의 κ°€μ€‘μΉ˜λ₯Ό κ°€μ§€κΈ° λ•Œλ¬Έμ— μ΅œμ’…μ μœΌλ‘œ 4+1+2= 7의 μ΅œλ‹¨ 경둜λ₯Ό 얻을 수 있음.
  • 결과적으둜 4+1+2 = 7 의 μ΅œλ‹¨ κ²½λ‘œκ°€ 더 μ§§κΈ° λ•Œλ¬Έμ— ν•΄λ‹Ή 경둜λ₯Ό μ„ νƒν•˜λŠ” μ›λ¦¬μž„.
  • 즉, 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μ˜ μŒμˆ˜κ°€ μžˆμ„ κ²½μš°μ—λŠ” μ΅œλ‹¨ 경둜λ₯Ό ꡬ할 λ•Œ ν•˜λ‚˜μ˜ κ²½λ‘œμ—μ„œ 각 κ²½λ‘œλ§ˆλ‹€ μ΅œμ ν•΄λ₯Ό κ΅¬ν•˜λ©΄μ„œ λ‚˜μ•„κ°€λŠ”λ° λ¬Έμ œλŠ” μŒμˆ˜κ°€ λ“€μ–΄κ°€κ²Œ 되면, μ΅œμ ν•΄κ°€ μ•ˆλ‚˜μ˜¬ 수 μžˆλ‹€λŠ” λ¬Έμ œκ°€ 있기 λ•Œλ¬Έμ— 벨만-ν¬λ“œλŠ” λ‹¨μˆœν•˜μ§€λ§Œ κ°•λ ₯ν•˜κ²Œ λͺ¨λ“  μ •μ μ˜ κ²½λ‘œμ— ν•΄λ‹Ήν•˜λŠ” 경우의 수λ₯Ό νŒŒμ•…ν•˜λŠ” μ›λ¦¬μž„. (DP 방식을 ν™œμš©ν•¨) 동적 ν”„λ‘œκ·Έλž˜λ° 방법
  • μ‰½κ²Œ 말해, 좜발 μ •μ μ˜ λΆ€μˆ˜λœ κ°„μ„ μ˜ κ°€μ€‘μΉ˜μ˜ μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜κ³ , λΆ€μˆ˜λœ μ •μ λ“€μ˜ 또 λΆ€μˆ˜λœ λͺ¨λ“  κ°„μ„ λ“€μ˜ μ΅œλ‹¨ 경둜λ₯Ό ꡬ해보고 κ·Έ μ€‘μ—μ„œ μ΅œμ ν•΄λ₯Ό κ΅¬ν•˜κ³ , 또 κ·Έ μ •μ λ“€μ˜ λΆ€μˆ˜λœ κ°„μ„ μ˜ μ΅œλ‹¨ 경둜λ₯Ό ꡬ해 μ΅œμ ν•΄λ₯Ό κ΅¬ν•΄λ‚˜κ°€λŠ” λ°©μ‹μž„.

(5) 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜ - μ˜ˆμ‹œ(2)

 
  • 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜μ˜ 경우 좜발 μ •μ μœΌλ‘œλΆ€ν„° κ°„μ„  λͺ‡κ°œλ₯Ό μ‚¬μš©ν•˜λŠλƒμ— λ”°λΌμ„œ 경우의 μˆ˜κ°€ 갈리며, λͺ‡ 개의 닀리λ₯Ό κ±΄λ„ˆμ•Ό ν• μ§€ 미리 μ•Œ 수 μ—†κΈ° λ•Œλ¬Έμ— 순차적으둜 간선을 늘리며 μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜λŠ” λ°©μ‹μž„.

(6) 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜ - μ„±λŠ₯κ³Ό νŠΉμ§•

  • μ‹œκ°„ λ³΅μž‘λ„ O(V * E): V - 1번의 루프(정점 μˆ˜μ— λΉ„λ‘€) μ•ˆμ—μ„œ 맀번 λͺ¨λ“  κ°„μ„ (E개)을 μ „μˆ˜ μ‘°μ‚¬ν•˜κΈ° λ•Œλ¬Έμ— ν•΄λ‹Ή μ‹œκ°„ λ³΅μž‘λ„λ₯Ό κ°€μ§ˆ 수 있음. 즉, 벨만-ν¬λ“œλŠ” λͺ¨λ“  간선을 λ¬΄μ‹ν•˜κ²Œ λ‹€ ν›‘λŠ” κ³Όμ • λ•Œλ¬Έμ— λ‹€μ΅μŠ€νŠΈλΌλ³΄λ‹¨ 훨씬 느림.

  • 음의 κ°€μ€‘μΉ˜λ₯Ό κ°–λŠ” 간선이 μžˆλŠ” κ²½μš°μ—λŠ” 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜ 적용이 λΆˆκ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ—, 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜μ„ 적용 ν•  수 μžˆμ§€λ§Œ, 음의 κ°€μ€‘μΉ˜λ₯Ό κ°–λŠ” 간선이 μ—†λŠ” κ²½μš°μ—λŠ” μ„±λŠ₯λ©΄μ—μ„œ 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μ΄ λ›°μ–΄λ‚˜κΈ° λ•Œλ¬Έμ— 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μ„ μ“°λŠ”κ²Œ νš¨μœ¨μ μž„.

βœ… 2. ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜

(1) ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜μ΄λž€?

  • ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜: λͺ¨λ“  쌍의 μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. ( μ •ν™•ν•œ λͺ…칭은 ν”Œλ‘œμ΄λ“œ μ›Œμ…œ μ•Œκ³ λ¦¬μ¦˜μž„ )
  • μ‰½κ²Œ 말해, μž„μ˜μ˜ 정점 λ‘κ°œκ°€ ν•œ 쌍이 되며, ν•΄λ‹Ή μ •μ κ°„μ˜ μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λ³Ό 수 있음.
  • 즉, 데이크슀트라, 벨만 ν¬λ“œμ˜ 경우 단일 μΆœλ°œμ μœΌλ‘œλΆ€ν„° λͺ¨λ“  μ •μ κ°„μ˜ μ΅œλ‹¨ κ²½λ‘œμ˜€λ‹€λ©΄, ν”Œλ‘œμ΄λ“œλŠ” λͺ¨λ“  μ •μ μœΌλ‘œλΆ€ν„° λͺ¨λ“  μ •μ κΉŒμ§€μ˜ μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜λŠ” 방식이며, 결과적으둜 ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜μ€ λ°μ΄ν¬μŠ€νŠΈλΌμ™€ λ²¨λ§Œν¬λ“œκ°€ κ΅¬ν•˜λŠ” μΆœλ°œμ μ—μ„œ λͺ¨λ“ μ •μ μ˜ μ΅œλ‹¨ 경둜 λ˜ν•œ ν¬ν•¨ν•œλ‹€κ³  λ³Ό 수 있음. ( ν™•μž₯판으둜 보면 됨. )
  • 쑰건: 경둜의 길이가 음인 사이클이 μ‘΄μž¬ν•˜μ§€ μ•Šμ•„μ•Ό 적용이 κ°€λŠ₯ν•œ μ•Œκ³ λ¦¬μ¦˜μž„.
  • 적용 기법: 동적 ν”„λ‘œκ·Έλž˜λ° 방법이 적용된 μ•Œκ³ λ¦¬μ¦˜μž„.

(2) ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜ - 인접 ν–‰λ ¬ ν‘œν˜„

  • ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜μ€ 기본적으둜 인접 행렬을 기반으둜 λ™μž‘ν•˜λ©°, κ·Έ κ²°κ³Όλ¬Ό λ˜ν•œ 2차원 ν–‰λ ¬ ν˜•νƒœλ‘œ λ‚˜νƒ€λ‚œλ‹€.
  • D^(k): D(인접 ν–‰λ ¬)λ₯Ό 톡해 k λ‹¨κ³„λ³„λ‘œ k μ΄ν•˜μΈ μ •μ λ§Œμ„ κ²½μœ ν•˜λŠ” 정점 iμ—μ„œ jκΉŒμ§€ μ΅œλ‹¨ 경둜λ₯Ό 천천히 κ΅¬ν•˜λ©΄μ„œ k 의 단계λ₯Ό λŠ˜λ €κ°€λ©°, 각 λ‹¨κ³„λ§ˆλ‹€ 점화식을 ν†΅ν•΄μ„œ 더 짧은 거리λ₯Ό κ΅¬ν•œ λ’€ 갱신을 ν•΄μ£ΌλŠ” κ²ƒμž„.
  • 점화식: 이전 κ°’μœΌλ‘œ ν˜„μž¬ 값을 μ •μ˜ν•˜λŠ” λͺ¨λ“  곡식을 μ˜λ―Έν•œλ‹€. ( ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄, λ“±λΉ„/λ“±μ°¨ μˆ˜μ—΄ λ“± 이런 이전 값을 톡해 ν˜„μž¬ 값을 μ •μ˜ν•˜λŠ” λͺ¨λ“  곡식듀을 ν¬κ΄„ν•˜λŠ” μš©μ–΄μž„ )

  • μ•Œκ³ λ¦¬μ¦˜ 점화식: μž¬κ·€ 호좜 κ΅¬μ‘°μ—μ„œ μ‚¬μš©ν•˜λŠ” 식을 μ˜λ―Έν•˜λ©°, μˆ˜ν•™μ  점화식과 ꡬ쑰가 λ™μΌν•˜λ©°, 이전 κ°’μœΌλ‘œ ν˜„μž¬ κ°’ μ •μ˜μ™€ λ™μΌν•˜κ²Œ 이전 호좜둜 ν˜„μž¬ ν˜ΈμΆœμ„ μ •μ˜ν•˜λŠ” 같은 λ³Έμ§ˆμ„ κ°€μ§€κ³  있음.
  • 즉, μˆ˜ν•™μ  μ ν™”μ‹μ΄λΌλŠ” 큰 ν‹€ μ•ˆμ—μ„œ, T(n)에 "μ‹œκ°„"μ΄λΌλŠ” 의미λ₯Ό λΆ€μ—¬ν•œ 것이 μ•Œκ³ λ¦¬μ¦˜ μ ν™”μ‹μž„.

(3) ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜ - μ˜ˆμ‹œ(1)


μ΄ˆκΈ°ν™” κ³Όμ •: λͺ¨λ“  μ •μ κ°„μ˜ 연결을 μΈμ ‘ν–‰λ ¬λ‘œ ν‘œν˜„ 및 μ΄ˆκΈ°ν™” μ§„ν–‰
D(0): 쀑간 정점 없이, 직접 μ—°κ²°λœ 거리만 계산 ( μ΄ˆκΈ°ν™” )

D(1): 정점 1λ²ˆμ„ 거쳐도 λœλ‹€κ³  ν—ˆμš© 및 ν•΄λ‹Ή 정점 1λ²ˆμ„ 경유 ν–ˆμ„ λ•Œ 더 μ§§μ•„μ§€λŠ” κ²½λ‘œκ°€ μžˆλŠ”μ§€ 체크
즉, (4,2) , (4,3) 만 정점 1을 거쳐가기 λ•Œλ¬Έμ— 갱신이 κ°€λŠ₯함.
μ΅œμ†Œ κ°’ κ°±μ‹ : 점화식을 ν™œμš©ν•΄μ„œ μ΄μ „μ˜ κ°’κ³Ό 비ꡐ ν›„ 더 짧은 경둜의 κ°’μœΌλ‘œ 갱신을 ν•΄μ€Œ.

D(2): 정점 2λ²ˆμ„ 거쳐도 λœλ‹€κ³  ν—ˆμš© 및 이전 정점 1번 λ˜ν•œ 거쳐도 됨. ( 경유 ν–ˆμ„ λ•Œ 더 μ§§μ•„μ§€λŠ” 경둜 체크 )
  • D(0) : 쀑간 정점 없이, 직접 μ—°κ²°λœ 거리만
  • D(1) : 정점 1λ²ˆμ„ 거쳐도 λœλ‹€κ³  ν—ˆμš©
  • D(2) : 정점 1, 2λ²ˆμ„ 거쳐도 λœλ‹€κ³  ν—ˆμš©
  • D(k) : 정점 1~kλ²ˆμ„ 거쳐도 λœλ‹€κ³  ν—ˆμš©
  • D(|V|) : λͺ¨λ“  정점을 거쳐도 됨 → μ΅œμ’… μ΅œλ‹¨κ±°λ¦¬ μ™„μ„±
  • 점화식 뢄석: d(k)ij = min( d(k-1)ij,  d(k-1)ik + d(k-1)kj )
                                                        ↑                ↑
                                                  κΈ°μ‘΄ 거리      μ •점 kλ₯Ό κ²½μœ ν•˜λŠ” 경우의 거리

  • D(k) λ‹¨κ³„μ—μ„œ kλ₯Ό μ μ§„μ μœΌλ‘œ 늘리며, ν•΄λ‹Ή 정점을 거쳐가도둝 ν—ˆμš©μ„ μ μ§„μ μœΌλ‘œ ν‘ΈλŠ” μ΄μœ λŠ”, 이미 κ³„μ‚°λœ μ΅œλ‹¨ 거리λ₯Ό μž¬μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œ 단계λ₯Ό λ‚˜λˆ„λŠ” κ²ƒμž„. 즉, 사싀상 경둜의 쑰합이 κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ λ§Žμ•„μ Έμ„œ 계산이 λΆˆκ°€λŠ₯ν•΄μ§€κΈ° λ•Œλ¬Έμ— νš¨μœ¨μ„ μœ„ν•΄μ„œ μ μ§„μ μœΌλ‘œ 늘리며, 정점을 거쳐가도 λœλ‹€κ³  ν—ˆμš©μ„ μ‹œμΌœμ£ΌλŠ” κ²ƒμž„.

(4) ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜ - μ˜ˆμ‹œ(2)

  • D^(0): λͺ¨λ“  정점을 인접 ν–‰λ ¬λ‘œ λ§Œλ“œλŠ” μ΄ˆκΈ°ν™” κ³Όμ •
  • D^(1): 1번 정점을 κ±°μΉ˜λŠ” 경우인 (4,2) , (4,3) 에 λŒ€ν•œ 거리값을 κ°±μ‹ 

(5) ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜ - μ„±λŠ₯κ³Ό νŠΉμ§•

  • ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜ μ‹œκ°„ λ³΅μž‘λ„: O(n^3)

  • ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜μ€ 동적 ν”„λ‘œκ·Έλž˜λ° 방법을 μ μš©ν•œ μ•Œκ³ λ¦¬μ¦˜μž„.
  • 동적 ν”„λ‘œκ·Έλž˜λ° 방법: ν•œ 번 κ΅¬ν•œ 닡은 λ‹€μ‹œ κ΅¬ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” μ „λž΅μ΄λ©°, λ³΅μž‘ν•˜κ³  큰 문제λ₯Ό ν•œ λ²ˆμ— ν’€λ €κ³  ν•˜λ©΄ λ„ˆλ¬΄ μ–΄λ ΅κΈ° λ•Œλ¬Έμ—, 이λ₯Ό μž‘μ€ ν•˜μœ„ 문제둜 λ‚˜λˆˆ λ’€, κ·Έ κ²°κ³Όλ₯Ό μ €μž₯ν•΄ λ‘μ—ˆλ‹€κ°€ λ‚˜μ€‘μ— 더 큰 문제λ₯Ό ν’€ λ•Œ κ°€μ Έλ‹€ μ“°λŠ” λ°©μ‹μž„.
  • ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜ 동적 ν”„λ‘œκ·Έλž˜λ° 방법인 이유: 큰 문제(1λ²ˆλΆ€ν„° nλ²ˆκΉŒμ§€μ˜ λͺ¨λ“  μ •μ κ°„μ˜ μ΅œλ‹¨ 거리 κ΅¬ν•˜κΈ°)λ₯Ό μž‘μ€ 문제(1λ²ˆλΆ€ν„° kλ²ˆκΉŒμ§€λ§Œ κ²½μœ μ§€λ‘œ μ‚¬μš©ν•΄μ„œ μ΅œλ‹¨ 거리 κ΅¬ν•˜κΈ°)λ₯Ό ν†΅ν•΄μ„œ ν•΄κ²°ν•˜λŠ” μ›λ¦¬μž„.
  • 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λͺ¨λ“  쌍 μ΅œλ‹¨ 경둜 κ΅¬ν•˜κΈ°: 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μ€ ν•œ μ •μ μ—μ„œ λͺ¨λ“  μ •μ κ°„μ˜ μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μΈλ°, λͺ¨λ“  정점에 λŒ€ν•œ μ΅œλ‹¨ 경둜λ₯Ό κ΅¬ν•˜κ²Œ 되면 κ²°κ΅­ 데이크슀트라 μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œλ„ ꡬ할 수 있음 => O(V^3)
  • ν•˜μ§€λ§Œ, ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜μ΄ λͺ¨λ“  μŒμ„ κ΅¬ν•˜λŠ”λ° μžˆμ–΄μ„œ 더 κ°„λ‹¨ν•˜κΈ° λ•Œλ¬Έμ— 더 λΉ λ₯΄κ²Œ ꡬ할 수 있음. 


βœ… 3. ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜

(1) λ„€νŠΈμ›Œν¬ ν”Œλ‘œ λ¬Έμ œλž€?

  • λ„€νŠΈμ›Œν¬ ν”Œλ‘œ λ¬Έμ œλž€?: “흐λ₯Ό 수 μžˆλŠ” μ–‘(flow)을 μ œν•œλœ 경둜λ₯Ό 톡해 μ–΄λ–»κ²Œ 보내야 ν•˜λŠ”κ°€”λ₯Ό λ‹€λ£¨λŠ” κ·Έλž˜ν”„ λ¬Έμ œμž„.
  • λ„€νŠΈμ›Œν¬ N: λ„€νŠΈμ›Œν¬ ꡬ성 μš”μ†Œλ‘œλŠ” λ°©ν–₯ κ·Έλž˜ν”„ G(V,E), s(μ‹œμž‘μ ), t(도착점), c(κ°„μ„ μ˜ μš©λŸ‰) μœΌλ‘œ κ΅¬μ„±λ˜μ–΄μžˆμŒ.
  • 즉, λ„€νŠΈμ›Œν¬ ν”Œλ‘œ λ¬Έμ œλŠ” λ°©ν–₯ κ·Έλž˜ν”„μ—μ„œ κ° κ°„μ„ (edge)에 μš©λŸ‰(capacity)이 μ£Όμ–΄μ§ˆ λ•Œ, μ‹œμž‘점(source)μ—μ„œ λ„착점(sink)κΉŒμ§€ νλ¦„(flow)을 μ œμ•½ μ‘°κ±΄μ„ λ§Œμ‘±ν•˜λ©° λ³΄λ‚΄λŠ” λ¬Έμ œλ‘œ λ³΄λ©΄ λ¨.
  • 예λ₯Όλ“€λ©΄, μˆ˜λ„κ΄€, λ„€νŠΈμ›Œν¬, 인터넷 νŒ¨ν‚· 전솑, λ¬Όλ₯˜ 배솑 ꡐ톡 흐름, 솑전망 등을 κ·Έλž˜ν”„ν™” ν•΄μ„œ λ„€νŠΈμ›Œν¬ ν”Œλ‘œ 문제λ₯Ό λŒ€μž…ν•΄μ„œ ν•΄κ²° ν•  수 μžˆλŠ” λŠλ‚Œμž„.
  • μ΅œλŒ€ μœ λŸ‰ 문제: λ„€νŠΈμ›Œν¬ ν”Œλ‘œ 문제의 κ°€μž₯ λŒ€ν‘œμ μΈ ν˜•νƒœ 쀑 ν•˜λ‚˜λ‘œ, μ΅œλŒ€ μœ λŸ‰ λ¬Έμ œλŠ” 전체 λ„€νŠΈμ›Œν¬μ—μ„œ μ‹œμž‘(Source)λΆ€ν„° 도착점(Sink)κΉŒμ§€ 보낼 수 μžˆλŠ” νλ¦„μ˜ μ΅œλŒ€λŸ‰μ„ κ΅¬ν•˜λŠ” λ¬Έμ œμž„.
  • ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜μ΄ λ„€νŠΈμ›Œν¬ ν”Œλ‘œμ˜ μ΅œλŒ€ μœ λŸ‰ λ¬Έμ œμ— λŒ€ν•œ μ•Œκ³ λ¦¬μ¦˜μž„.
  • 정리: λ„€νŠΈμ›Œν¬ ν”Œλ‘œλŠ” νλ¦„이 μ‘΄μž¬ν•˜λŠ” λ„€νŠΈμ›Œν¬ λ¬Έμ œ μ „체λ₯Ό λ‹€λ£¨λŠ” ν° κ°œλ…μ΄κ³ , κ·Έ μ•ˆμ— μ΅œλŒ€ μœ λŸ‰ λ¬Έμ œ κ°™μ€ μ„ΈλΆ€ λ¬Έμ œκ°€ μ‘΄μž¬ν•œλ‹€. κ·Έλ¦¬κ³  ν¬λ“œ-ν’€μ»€μŠ¨μ€ μ΅œλŒ€ μœ λŸ‰ λ¬Έμ œλ₯Ό ν•΄κ²°ν•˜λŠ” λŒ€ν‘œ μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€.
  • λ˜ν•œ, 단일 μ†ŒμŠ€ - 단일 싱크 문제둜, λͺ¨λ“  정점 μŒμ— λŒ€ν•œ μœ λŸ‰μ„ ν•œ λ²ˆμ— κ΅¬ν•˜λŠ” 것이 μ•„λ‹˜. 단일 정점 μŒμ— λŒ€ν•œ μœ λŸ‰μž„.

(2) ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜μ΄λž€?

  • ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜: λ„€νŠΈμ›Œν¬ ν”Œλ‘œ λ¬Έμ œμ—μ„œ μ΅œλŒ€ μœ λŸ‰ λ¬Έμ œμ— λŒ€ν•œ 졜초둜 μ œμ‹œλœ κ°€μž₯ 기초적인 ν•΄κ²° λ°©λ²•μ˜ μ•Œκ³ λ¦¬μ¦˜μ΄λ©°, κ°€μž₯ 기초적인 방법이기에 λ‹¨μˆœνžˆ ν”Œλ‘œ 값을 μ¦κ°€μ‹œν‚¬ 수 μžˆλŠ” λͺ¨λ“  경우의 수λ₯Ό νƒμƒ‰ν•΄μ„œ μ μš©μ„ ν•˜λŠ” λ°©μ‹μž„.
  • 단점: μ’…λ£Œκ°€ 보μž₯λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, μ—λ“œλͺ¬μ¦ˆ-μΉ΄ν”„ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ λ°œμ „μ΄ 됨.
  • 원리: λͺ¨λ“  κ°„μ„ μ˜ ν”Œλ‘œλ₯Ό 0으둜 λ‘” μƒνƒœμ—μ„œ μ‹œμž‘, 증가 κ²½λ‘œκ°€ 더 이상 μ‘΄μž¬ν•˜μ§€ μ•Šμ„ λ•ŒκΉŒμ§€ 반볡적으둜 경둜λ₯Ό μ°Ύμ•„μ„œ μ΅œλŒ€ ν”Œλ‘œ 값을 κ΅¬ν•˜λŠ” μ›λ¦¬μž„.

  • 증가 경둜: μ†ŒμŠ€(좜발 정점)μ—μ„œ 싱크(도착 정점)κΉŒμ§€ 더 λ§Žμ€ ν”Œλ‘œλ₯Ό 보낼 수 μžˆλŠ” 경둜λ₯Ό μ˜λ―Έν•œλ‹€.
  • μ—­λ°©ν–₯ κ°„μ„ μ˜ 쑴재 이유: ν•΄λ‹Ή 경둜 말고 λ‹€λ₯Έ 경둜둜 λ³΄λ‚΄λŠ”κ²Œ 더 효율적이라고 νŒλ‹¨μ΄ 되면, 이미 보낸 흐름을 μ·¨μ†Œ ν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•΄μ„œ μ—­λ°©ν–₯ 간선이 μ‘΄μž¬ν•˜λŠ” κ²ƒμž„.

  • μž”μ—¬ μš©λŸ‰: κ°„μ„ μ—μ„œ μΆ”κ°€λ‘œ ν”Œλ‘œλ₯Ό μ¦κ°€μ‹œν‚¬ 수 μžˆλŠ” μ—¬μœ  μš©λŸ‰μ„ μ˜λ―Έν•œλ‹€.
  • μ‰½κ²Œ 말해, a - b κ°„μ„ μ˜ μš©λŸ‰μ΄ 10인데 5만큼 μ‚¬μš© 쀑이라면, μž”μ—¬ μš©λŸ‰μ€ 5이닀. ( 5만큼 λ‚¨μ•„μžˆκΈ° λ•Œλ¬Έμ— )

  • 증가 경둜의 μ—¬μœ λŸ‰: κ²½λ‘œμ— ν¬ν•¨λœ λͺ¨λ“  κ°„μ„ μ˜ μž”μ—¬ μš©λŸ‰ 쀑 μ΅œμ†Œκ°’μ„ μ˜λ―Έν•˜λ©°, μ΄λŠ” κ³§ ν•΄λ‹Ή 경둜λ₯Ό μ‚¬μš©ν•΄μ„œ μ¦κ°€μ‹œν‚¬ 수 μžˆλŠ” ν”Œλ‘œ κ°’μœΌλ‘œ λ³Ό 수 있음.
S -> A -> B -> T
S ──10──> A ──3──> B ──7──> T
- μž”μ—¬ μš©λŸ‰: S -> A = 10, A -> B = 3, B -> T = 7
- 흐름이 κ²°κ΅­ μ΅œμ†Œκ°’μΈ A -(3)> B 간선에 μ˜ν•΄μ„œ μ œν•œλ¨.
  • μ‰½κ²Œ 말해, μœ„ μ˜ˆμ‹œμ™€ 같이 경둜의 흐름이 μž”μ—¬ μš©λŸ‰ 쀑 μ΅œμ†Œκ°’μΈ 간선에 μ˜ν•΄μ„œ μ œν•œλ˜κΈ° λ•Œλ¬Έμ— κ²°κ΅­ 증가 κ²½λ‘œμ—μ„œ κ°€μž₯ 쒁은 간선이, κ·Έ 경둜둜 μΆ”κ°€ κ°€λŠ₯ν•œ μ΅œλŒ€ μœ λŸ‰μœΌλ‘œ λ³Ό 수 있음.

(3) ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜ - κ³Όμ •

(4) ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜ - μ˜ˆμ‹œ(1)


μ΄ˆκΈ°ν™”: κ°„μ„ μ˜ ν”Œλ‘œμ™€ κ°„μ„ μ˜ μš©λŸ‰μ˜ μ΄ˆκΈ°ν™”λ₯Ό 진행함.
κ°„μ„ μ˜ μš©λŸ‰: 각 간선이 버틸 수 μžˆλŠ” μ΅œλŒ€ 수치둜 섀정이 됨.
κ°„μ„ μ˜ ν”Œλ‘œ: λͺ¨λ“  κ°„μ„ μ˜ ν˜„μž¬ μœ λŸ‰μ„ 0으둜 μ΄ˆκΈ°ν™”ν•˜λŠ”λ°, μ²˜μŒμ—λŠ” 아무것도 흐λ₯΄μ§€ μ•ŠλŠ” μƒνƒœμž„μ„ λ‚˜νƒ€λƒ„.

증가 경둜 s-3-2-t: 증가 경둜 μƒμ—μ„œ 증가 경둜 μ—¬μœ λŸ‰μ˜ κ°„μ„ (μš©λŸ‰: 4)을 κΈ°μ€€μœΌλ‘œ 증가 κ²½λ‘œμƒμ˜ λͺ¨λ“  κ°„μ„ μ˜ ν”Œλ‘œκ°€ 증가함 (4μ”©)
증가 경둜 μ—¬μœ λŸ‰: 증가 경둜 μƒμ˜ κ°„μ„ μ˜ μš©λŸ‰ - κ°„μ„ μ˜ μš©λŸ‰μ΄λ©°, κ°„μ„ μ˜ μš©λŸ‰μ„ λ‹€ λͺ»μ±„μš΄ 값을 μ˜λ―Έν•¨.
μž”μ—¬ μš©λŸ‰: 증가 경둜의 μ—¬μœ λŸ‰μ΄ κ³§ ν•΄λ‹Ή κ°„μ„ μ˜ 증가 κ²½λ‘œμƒμ˜ μ—¬μœ λŸ‰μœΌλ‘œ λ³Ό 수 있음.

증가 경둜 s-1-4-t: 증가 경둜의 μ—¬μœ λŸ‰μ˜ κ°„μ„ (μš©λŸ‰: 3)을 κΈ°μ€€μœΌλ‘œ 증가 κ²½λ‘œμƒμ˜ λͺ¨λ“  κ°„μ„ μ˜ ν”Œλ‘œκ°€ 증가함 (3μ”©)

증가 경둜 s-3-4-t: 증가 경둜의 κ°„μ„ μ˜ ν”Œλ‘œκ°’μ΄ μ˜¬λΌκ°„ μƒνƒœμ΄λ―€λ‘œ, μ΅œλŒ€ μš©λŸ‰μ„ ν• λ‹Ή ν•  수 μžˆλŠ” 뢀뢄인 s -> 3의 증가 μš©λŸ‰ 4 + 2 = 6
즉, 2만큼의 μž”μ—¬ μš©λŸ‰μ— λ”°λΌμ„œ 증가 경둜의 λͺ¨λ“  κ°„μ„ μ˜ ν”Œλ‘œκ°’λ“€μ΄ μ¦κ°€ν•˜κ²Œλ¨.

증가 경둜 s-1-2-3-4-t: 증가 κ²½λ‘œμ—μ„œ 4 -> t 의 κ°„μ„ μ˜ ν”Œλ‘œκ°’μ΄ 5/7 μ΄μ—ˆμœΌλ©°, 증가 경둜의 μ—¬μœ λŸ‰(μž”μ—¬ μš©λŸ‰)이 제일 μž‘κΈ° λ•Œλ¬Έμ— λͺ¨λ“  증가 κ²½λ‘œμƒμ˜ κ°„μ„ μ˜ ν”Œλ‘œκ°’λ“€μ„ +2 μ”© 증가 μ‹œν‚€κ²Œ 됨.
μ—­λ°©ν–₯ κ°„μ„ : 2 -> 3 뢀뢄은 μ—­λ°©ν–₯ 간선이기 λ•Œλ¬Έμ—, 2λ₯Ό μ¦κ°€ν•˜λŠ”κ²Œ μ•„λ‹Œ 2만큼 κ°„μ„ μ˜ ν”Œλ‘œκ°’μ„ 빼게 됨.

μ΅œλŒ€ ν”Œλ‘œ: μ†ŒμŠ€(μ‹œμž‘μ ) μ—μ„œ λ‚˜κ°€λŠ” ν”Œλ‘œλ“€μ˜ ν•©(6 + 6 = 12) 12κ°€ μ΅œλŒ€ ν”Œλ‘œκ°€ 됨.
λ˜ν•œ, 싱크(도착점) 으둜 λ“€μ–΄μ˜€λŠ” ν”Œλ‘œλ“€μ˜ ν•©(5 + 7 = 12) 12κ°€ μ΅œλŒ€ ν”Œλ‘œκ°€ 됨.
  • μ΅œλŒ€ ν”Œλ‘œ: μ΅œλŒ€ μœ λŸ‰μœΌλ‘œλ„ λΆ€λ₯΄λ©°, κ°€μ€‘μΉ˜κ°€ μžˆλŠ” λ°©ν–₯ κ·Έλž˜ν”„(λ„€νŠΈμ›Œν¬)μ—μ„œ μ†ŒμŠ€(μ‹œμž‘μ )λ‘œλΆ€ν„° 싱크(도착점)κΉŒμ§€ λ™μ‹œμ— 보낼 수 μžˆλŠ” λ°μ΄ν„°λ‚˜ μžμ›μ˜ μ΅œλŒ€ 양을 μ˜λ―Έν•¨.
  • μ΅œλŒ€ ν”Œλ‘œ κ΅¬ν•˜κΈ°: μ†ŒμŠ€(μ‹œμž‘μ ) μ—μ„œ λ‚˜κ°€λŠ” ν”Œλ‘œλ“€μ˜ ν•© λ˜λŠ” 싱크(도착점)으둜 λ“€μ–΄μ˜€λŠ” ν”Œλ‘œλ“€μ˜ ν•© 이 두가지 경우 λͺ¨λ‘ μ΅œλŒ€ ν”Œλ‘œμ˜ κ°’μœΌλ‘œ λ³Ό 수 있음. ( 즉, μ†ŒμŠ€μ—μ„œ λ‚˜κ°€λŠ” ν”Œλ‘œλ“€μ˜ ν•©κ³Ό μ‹±ν¬λ‘œ λ“€μ–΄μ˜€λŠ” ν”Œλ‘œλ“€μ˜ 합은 κ°™μŒ. )
  • μ΅œλŒ€ ν”Œλ‘œμ—μ„œ μ˜λ―Έν•˜λŠ” μ†ŒμŠ€μ—μ„œ λ‚˜κ°€κ±°λ‚˜ μ‹±ν¬λ‘œ λ“€μ–΄μ˜€λŠ” ν”Œλ‘œλ“€μ€ μΈμ ‘ν•œ 정점 즉, λΆ€μˆ˜λœ κ°„μ„ μ˜ κ°€μ€‘μΉ˜ 값이 κΈ°μ€€μž„.

(5) ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜ - μ˜ˆμ‹œ(2)

  • μ΅œλŒ€ ν”Œλ‘œ μžμ²΄λŠ” λ™μ‹œμ— 보낼 수 μžˆλŠ” λ°μ΄ν„°λ‚˜ μžμ›μ˜ μ΅œλŒ€ 양을 μ˜λ―Έν•˜λ©°, μ˜ˆμ‹œ(1) κ³Ό λ™μΌν•˜κ²Œ μˆ˜ν–‰μ΄ 됨.

(6) ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜ - μ„±λŠ₯κ³Ό νŠΉμ§•

  • μš©λŸ‰μœΌλ‘œ 무리수λ₯Ό μ‚¬μš©ν•˜λŠ” 경우: μ•Œκ³ λ¦¬μ¦˜μ˜ μ’…λ£Œκ°€ 보μž₯λ˜μ§€ λͺ»ν•¨. ( 즉, μ •μˆ˜λ‘œ μ‚¬μš© 해야함 )
  • μš©λŸ‰ M이 맀우 큰 값이면 λΉ„νš¨μœ¨μ μž„.

  • 증가 경둜의 선택은 DFS λ˜λŠ” BFS μ μš©μ„ ν•΄μ„œ 선택함.
  • ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜μ€ 기본적으둜 DFSλ₯Ό μ μš©ν•˜μ—¬ 증가 경둜 선택을 함.
  • 컀트(cut): μ†ŒμŠ€μ—μ„œ μ‹±ν¬λ‘œ κ°€λŠ” λͺ¨λ“  κΈΈλͺ©μ„ μ°¨λ‹¨ν•˜λ„λ‘ 정점듀을 두 그룹으둜 μͺΌκ°œλŠ” ν–‰μœ„ 자체λ₯Ό μ˜λ―Έν•¨.
  • μ‰½κ²Œ 말해, ν¬λ“œ ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜ μ •ν™•μ„± 이런걸 증λͺ…ν•˜λŠ”λ° 많이 μ‚¬μš©λ˜λŠ” κ°œλ…μž„.

(7) 정리

  • 벨만-ν¬λ“œ μ•Œκ³ λ¦¬μ¦˜: 음의 κ°€μ€‘μΉ˜λ₯Ό κ°–λŠ” 간선이 μ‘΄μž¬ν•΄λ„ μ μš©ν•  수 μžˆλŠ” 단일 좜발점 μ΅œλ‹¨ 경둜 μ•Œκ³ λ¦¬μ¦˜
  • ν”Œλ‘œμ΄λ“œ μ•Œκ³ λ¦¬μ¦˜: λͺ¨λ“  정점 쌍 κ°„μ˜ μ΅œλ‹¨ 경둜, 동적 ν”„λ‘œκ·Έλž˜λ° 방법
  • ν¬λ“œ-ν’€μ»€μŠ¨ μ•Œκ³ λ¦¬μ¦˜: λ„€νŠΈμ›Œν¬ ν”Œλ‘œ λ¬Έμ œμ—μ„œ μ΅œλŒ€ μœ λŸ‰μ„ κ΅¬ν•˜λŠ” 문제

'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ > πŸ§¬μ•Œκ³ λ¦¬μ¦˜' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[μ•Œκ³ λ¦¬μ¦˜] 9κ°• - κ·Έλž˜ν”„(2)  (0) 2026.04.22
[μ•Œκ³ λ¦¬μ¦˜] 8κ°• - κ·Έλž˜ν”„(1)  (0) 2026.04.21
[μ•Œκ³ λ¦¬μ¦˜] 7κ°• - 탐색(2)  (0) 2026.04.14
[μ•Œκ³ λ¦¬μ¦˜] 6κ°• - 탐색(1)  (0) 2026.04.08
[μ•Œκ³ λ¦¬μ¦˜] 5κ°• - μ •λ ¬(3)  (0) 2026.03.25
'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ§¬μ•Œκ³ λ¦¬μ¦˜' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [μ•Œκ³ λ¦¬μ¦˜] 9κ°• - κ·Έλž˜ν”„(2)
  • [μ•Œκ³ λ¦¬μ¦˜] 8κ°• - κ·Έλž˜ν”„(1)
  • [μ•Œκ³ λ¦¬μ¦˜] 7κ°• - 탐색(2)
  • [μ•Œκ³ λ¦¬μ¦˜] 6κ°• - 탐색(1)
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    였늘
    μ–΄μ œ
    • 전체보기 (230)
      • πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ (84)
        • βš™οΈμ»΄ν“¨ν„°μ˜ 이해 (11)
        • πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠 (15)
        • πŸ”’μžλ£Œκ΅¬μ‘° (14)
        • πŸ§¬μ•Œκ³ λ¦¬μ¦˜ (10)
        • βš™οΈμš΄μ˜μ²΄μ œ (12)
        • πŸ•ΈοΈμ΄μ‚°μˆ˜ν•™ (10)
        • πŸŒμœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ… (11)
        • πŸ–₯️컴퓨터과학과 (1)
      • πŸ› οΈBackend (71)
        • πŸ“šλ°±μ—”λ“œ 곡뢀 (5)
        • β˜•Java (23)
        • 🌳Spring (13)
        • βš™οΈC (12)
        • ⚑Python (15)
        • JavaScript (1)
        • πŸ›’οΈDatabase (0)
        • Algorithm Problem Solving (2)
      • 🌐 Network (7)
        • πŸ“œHTTP (7)
      • πŸš€DevOps (1)
      • β›ΊμŠ€νŒŒλ₯΄νƒ€μ½”λ”©ν΄λŸ½ (64)
      • 정보 (2)
      • 정리가 ν•„μš”ν•œ κΈ€ (1)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

    • GitHub
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅
    μ»΄ν“¨ν„°μ˜ 이해
    spring
    μ•Œκ³ λ¦¬μ¦˜
    κ·Έλž˜ν”„
    컴퓨터과학과
    Cμ–Έμ–΄
    파이썬
    ν•¨μˆ˜
    λ°©ν†΅λŒ€
    μ΄μ‚°μˆ˜ν•™
    자료ꡬ쑰
    Python
    λ°©μ†‘λŒ€
    λ°°μ—΄
    컴퓨터과학 개둠
    운영체제
    μœ λΉ„μΏΌν„°μŠ€
    μžλ°”
    Java
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
junbin2
[μ•Œκ³ λ¦¬μ¦˜] 10κ°• - κ·Έλž˜ν”„(3)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”