๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

Critical Path (์ž„๊ณ„๊ฒฝ๋กœ)

๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋Š” ์œ„์ƒ์ •๋ ฌ์—์„œ ๋ณด์•˜๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ ์–ด๋–ค ์ˆœ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. Critical Path ๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ ์–ด๋–ค ์ •์ ๊นŒ์ง€ ๋„๋‹ฌํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ๋กœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ฐ€์žฅ ์งง์€ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋” ์˜๋ฏธ์žˆ๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ๊ฐ€์žฅ ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•œ๋‹ค๋ฉด, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ๋กœ๊ฐ€ ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ๊ฑฐ๋ฆฌ๋‚˜ ์‹œ๊ฐ„ ์ด๋‚ด๋กœ ๋งˆ์น  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋‹นํžˆ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค.

Alogrithm Concepts

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ „๋žต์—์„œ๋„ DFS๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์‹ค์ƒ Topological Sort์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฐœ๋…์ด ๋‹ค์‹œ ๋“ฑ์žฅํ•œ๋‹ค. Topological Sort ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋ฉด ๊ฐ ์ •์ ๋งˆ๋‹ค ๊ฑธ๋ฆฌ๋Š” ์ตœ๋Œ€ ๊ฑฐ๋ฆฌ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ๊ฐ ๊ฐ„์„ ์— ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋‹ค๋Š” ์กฐ๊ฑด์—์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ๊ทธ๋ž˜ํ”„์˜ ๊ฐ„์„ ์„ ๋ชจ๋‘ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๋งŒ๋“ค๊ณ  ๊ฐ ๋…ธ๋“œ๋“ค์— ๋Œ€ํ•ด์„œ ๋‘๊ฐ€์ง€ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•ด์•ผ ํ•œ๋‹ค:

  1. est (Earlist Start Time)
  2. eft (Earlist Finish Time)

Node Dependency

est ์™€ eft๋Š” Node dependency ์— ์˜ํ•ด์„œ ์ •ํ•ด์ง„๋‹ค. ๋งŒ์•ฝ์— ์–ด๋–ค ๋…ธ๋“œ๊ฐ€ ๋‹ค์Œ์— ํ•ด์•ผํ•  ์ผ์ด ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๊ทธ ๋…ธ๋“œ๋Š” dependency ๊ฐ€ ์—†๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์–ด๋–ค ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ๊ฐ„์„ ์„ ๊ฐ€์ง€๋Š” ๋…ธ๋“œ๋ฅผ dependency๊ฐ€ ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๊ฐ ๋…ธ๋“œ๋“ค์€ ๋‹ค์Œ ์„ธ ์ƒํƒœ ์ค‘ ํ•˜๋‚˜์— ์†ํ•˜๊ฒŒ ๋˜๊ณ  ๊ฐ ๊ฒฝ์šฐ๋งˆ๋‹ค est์˜ ๊ณ„์‚ฐ ์กฐ๊ฑด์ด ๋‹ฌ๋ผ์ง„๋‹ค.

  1. ๋” ์ด์ƒ ์ง„ํ–‰ํ•  ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ : est = 0
  2. ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ : ๋‹ค์Œ ๋…ธ๋“œ์˜ eft๊ฐ€ ํ˜„์žฌ ๋…ธ๋“œ์˜ est๊ฐ€ ๋œ๋‹ค.
  3. ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ : ์—ฐ๊ฒฐ๋œ ๋‹ค์Œ ๋…ธ๋“œ๋“ค์˜ eft์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ํ˜„์žฌ ๋…ธ๋“œ์˜ est๊ฐ€ ๋œ๋‹ค. eft๋Š” est + ๊ฐ„์„  ๊ฐ€์ค‘์น˜ ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

์กฐ๊ธˆ ํ—ท๊ฐˆ๋ฆด ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋‹จ์ˆœํ•˜๋‹ค. topological sort๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด, finish time์ด ๊ฐ€์žฅ ๋Šฆ๋Š” ๋…ธ๋“œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•ด๋‹น ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๊ฒฝ๋กœ๋ฅผ backtrack ํ•˜๋ฉด์„œ ๊ธธ์ด๊ฐ€ ์ œ์ผ ๊ธด ๊ฐ„์„ ๋งŒ ์„ ํƒํ•œ๋‹ค๋ฉด ๊ฐ€์žฅ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๊ฒฝ๋กœ๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

Modify DAG

Critical Path ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ์กฐ๊ธˆ ์ˆ˜์ •ํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

  • ๊ทธ๋ž˜ํ”„๋ฅผ topological sort ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š”, ์ฆ‰ ์•„๋ฌด ๋…ธ๋“œ๋„ ๊ฐ€๋ฅดํ‚ค์ง€ ์•Š๋Š” ๋…ธ๋“œ๋“ค์— ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋…ธ๋“œ๋ฅผ done ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ด ์ž‘์—…์„ ๋งˆ์น˜๋ฉด dependency๊ฐ€ ์—†๋Š” ๋…ธ๋“œ๋“ค์€ ๋ชจ๋‘ done์„ ๊ฐ€๋ฅดํ‚ค๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์ด์ œ ์ด done ๋…ธ๋“œ๋กœ ๋ถ€ํ„ฐ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒฝ๋กœ๋“ค ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ est๋ฅผ ์„ ํƒํ•˜๋ฉด์„œ ๋‹ค์‹œ done์œผ๋กœ ๋ฐฑํŠธ๋ž˜ํ‚น ํ•˜๋‹ค๋ณด๋ฉด ์ตœ์ข…์ ์œผ๋กœ๋Š” ๊ฐ€์žฅ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

Example

 

์œ„์™€ ๊ฐ™์ด ์œ„์ƒ์ •๋ ฌ์„ ์ง„ํ–‰ํ•˜๊ณ  ๊ฐ„์„ ์˜ ๋ฐฉํ–ฅ์„ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”๊พผ ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๊ฐ ๋…ธ๋“œ ์œ„์— ์ ํžŒ ์ˆซ์ž๋“ค์€ ํ•ด๋‹น ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๋‹ค์Œ ๋…ธ๋“œ๊นŒ์ง€ ์ด๋™ํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„(๊ฐ€์ค‘์น˜)์ด๋‹ค. ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋˜ node dependency์— ๋”ฐ๋ฅธ est, esf ๊ณ„์‚ฐ ์กฐ๊ฑด์„ ์ƒ๊ฐํ•˜๋ฉด์„œ ๋”ฐ๋ผ๊ฐ€๋ณด์ž.

1. ๋” ์ด์ƒ ์ง„ํ–‰ํ•  ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ : est = 0
2. ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ : ๋‹ค์Œ ๋…ธ๋“œ์˜ eft๊ฐ€ ํ˜„์žฌ ๋…ธ๋“œ์˜ est๊ฐ€ ๋œ๋‹ค.
3. ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ : ์—ฐ๊ฒฐ๋œ ๋‹ค์Œ ๋…ธ๋“œ๋“ค์˜ eft์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ํ˜„์žฌ ๋…ธ๋“œ์˜ est๊ฐ€ ๋œ๋‹ค. eft๋Š” est + ๊ฐ„์„  ๊ฐ€์ค‘์น˜๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

done ์—์„œ๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋ฉด, DFS์ด๊ธฐ ๋•Œ๋ฌธ์— leaf node ๊นŒ์ง€ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๋‹ค. 9๋ฒˆ ๋…ธ๋“œ์— ๋‹ค๋‹ค๋ฅด๊ณ  ๋‹ค์‹œ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์‹œ์ž‘ํ•  ๋•Œ, est์™€ eft์˜ ๊ณ„์‚ฐ์ด ์‹œ์ž‘๋œ๋‹ค.

Phase 1

 

  1. 9๋ฒˆ ๋…ธ๋“œ์— ๋ฐฉ๋ฌธํ–ˆ์„ ๋•Œ: 9๋ฒˆ ๋…ธ๋“œ๋Š” ๋” ์ด์ƒ ์ง„ํ–‰ํ•  ๋…ธ๋“œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— est ๊ฐ€ 0์ด ๋œ๋‹ค.
  2. 1๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™ ํ–ˆ์„ ๋•Œ: 1๋ฒˆ ๋…ธ๋“œ๋Š” ๋‹ค์Œ ๋…ธ๋“œ๊ฐ€ 9๋ฒˆ ๋…ธ๋“œ ํ•˜๋‚˜๋ฟ์ด๋‹ค. 2๋ฒˆ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— 9๋ฒˆ ๋…ธ๋“œ์˜ eft๊ฐ€ 1๋ฒˆ ๋…ธ๋“œ์˜ est ๊ฐ€ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ 1๋ฒˆ ๋…ธ๋“œ์˜ est + 1๋ฒˆ ๋…ธ๋“œ์˜ ์‹œ๊ฐ„ = 0 + 3.0 = 3.0 ์ด 1๋ฒˆ ๋…ธ๋“œ์˜ eft๊ฐ€ ๋œ๋‹ค.
  3. 2๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™ ํ–ˆ์„ ๋•Œ: 2๋ฒˆ ๋…ธ๋“œ ๋‹ค์Œ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋Š” 1๋ฒˆ๊ณผ 8๋ฒˆ์ด๋‹ค. ๋‘ ๋…ธ๋“œ ์ค‘ eft๊ฐ€ ๋” ํฐ ๋…ธ๋“œ๋ฅผ ํ˜„์žฌ ๋…ธ๋“œ์˜ est๋กœ ๋งŒ๋“ ๋‹ค. ์•„์ง 8๋ฒˆ ๋…ธ๋“œ์˜ eft๋ฅผ ๋ชจ๋ฅด์ง€๋งŒ ์ผ๋‹จ 2๋ฒˆ ๋…ธ๋“œ์˜ eft๋ฅผ ํ˜„์žฌ์‹œ์ ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด๋ผ๊ณ  ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค. 2๋ฒˆ ๋…ธ๋“œ์˜ est๋ฅผ 1๋ฒˆ ๋…ธ๋“œ์˜ eft๋กœ ๋งŒ๋“ค์–ด์ฃผ์ž.

Phase 2

 

์ฒซ ํƒ์ƒ‰์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์ด ๋๋‚ฌ์„ ๋•Œ, ๊ฐ ๋…ธ๋“œ์˜ est, eft๋Š” ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์„ค์ •๋œ๋‹ค. ์ด์ œ DFS์— ์˜ํ•ด์„œ 8๋ฒˆ ๋…ธ๋“œ๋กœ ํƒ์ƒ‰์ด ์ด์–ด์ง„๋‹ค. ์ด๋ฒˆ ์—ญ์‹œ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์„๋งŒํผ ์•ž์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ  ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ•˜๋ฉด์„œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.

  1. 9๋ฒˆ ๋…ธ๋“œ์— ๋ฐฉ๋ฌธ?: 9๋ฒˆ ๋…ธ๋“œ๋Š” ํ•œ๋ฒˆ ๋ฐฉ๋ฌธํ–ˆ๋˜ ๋…ธ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. 8๋ฒˆ ๋…ธ๋“œ์— ํƒ์ƒ‰์„ ๋งˆ์น˜๋ฉด์„œ: 9๋ฒˆ ๋…ธ๋“œ๋กœ ์ง„ํ–‰ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณง๋ฐ”๋กœ 8๋ฒˆ ๋…ธ๋“œ์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. 8๋ฒˆ ๋…ธ๋“œ๋Š” 2๋ฒˆ ์กฐ๊ฑด์— ํ•ด๋‹น๋ผ์„œ 9๋ฒˆ ๋…ธ๋“œ์˜ eft์ธ 0 ์ด 8๋ฒˆ ๋…ธ๋“œ์˜ est๊ฐ€ ๋˜๊ณ , eft๋Š” ์ž์‹ ์˜ ์ด๋™ ์‹œ๊ฐ„์ธ 8.5๋ฅผ ๋”ํ•ด 8.5๊ฐ€ ๋œ๋‹ค.
  3. 2๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™ ํ–ˆ์„ ๋•Œ: 2๋ฒˆ ๋…ธ๋“œ์— ๋Œ€ํ•œ ํƒ์ƒ‰์ด ๋ชจ๋‘ ๋๋‚ฌ๋‹ค. 8๋ฒˆ ๋…ธ๋“œ์—์„œ ๋ฆฌํ„ด๋˜๋ฉด์„œ 2๋ฒˆ ๋…ธ๋“œ์— ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜๊ฒŒ ๋๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ 2๋ฒˆ ๋…ธ๋“œ์˜ est์ธ 3 ๊ณผ 8๋ฒˆ๋…ธ๋“œ์˜ eft์ธ 8.5 ์ค‘ ๋” ํฐ ๊ฐ’์ธ 8.5๋ฅผ ์„ ํƒํ•ด์„œ est๋กœ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  2๋ฒˆ ๋…ธ๋“œ์˜ eft๋Š” 8.5 + 6.5 = 15 ๊ฐ€ ๋œ๋‹ค.
  4. 4๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™ ํ–ˆ์„ ๋•Œ: 2๋ฒˆ ๋…ธ๋“œ์˜ ํƒ์ƒ‰์ด ์ข…๋ฃŒ๋˜๋ฉด์„œ 4๋ฒˆ ๋…ธ๋“œ๋กœ์˜ ๋ฐฑํŠธ๋ž™์ด ์ง„ํ–‰๋œ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋„ ๊ฐ™์€ ๋…ผ๋ฆฌ๋กœ 4๋ฒˆ ๋…ธ๋“œ์˜ est ๋ฅผ 15๋กœ ์„ค์ •ํ•ด์ค€๋‹ค.

Phase 3

 

์ด์ œ 3๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ์˜ ํƒ์ƒ‰์ด ์ง„ํ–‰๋œ๋‹ค. ์•ž์„  ๋‹จ๊ณ„์—์„œ์™€ ๊ฐ™์ด ๊ณ„์† ์ง„ํ–‰ํ•ด๋ณด์ž.

  1. 5๋ฒˆ ๋…ธ๋“œ์—์„œ์˜ ๊ณ„์‚ฐ: ์ด๋ฒˆ์—๋„ ์—ญ์‹œ 9๋ฒˆ ๋…ธ๋“œ๋Š” ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๋Š”๋‹ค. 5๋ฒˆ ๋…ธ๋“œ์˜ est๋Š” 0, eft๋Š” 0 + 4.5 ์ธ 4.5 ๊ฐ€ ๋œ๋‹ค.
  2. 5๋ฒˆ ๋…ธ๋“œ์—์„œ 3๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™: 3๋ฒˆ ๋…ธ๋“œ์˜ ํƒ์ƒ‰์ด ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜์ง€๋งŒ ํ˜„์žฌ์‹œ์ ์—์„œ ๊ฐ€์žฅ ํฐ 5๋ฒˆ ๋…ธ๋“œ์˜ eft๋ฅผ ์ž์‹ ์˜ est๋กœ ๋งŒ๋“ ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ est๋Š” 4.5๊ฐ€ ๋œ๋‹ค.
  3. 6๋ฒˆ ๋…ธ๋“œ๋กœ ํƒ์ƒ‰: 6๋ฒˆ ๋…ธ๋“œ๋Š” 3๋ฒˆ ๋…ธ๋“œ์™€ ์ƒํ™ฉ์ด ๊ฐ™๋‹ค. est ๋Š” 0, eft๋Š” 0 + 2.0 = 2๊ฐ€ ๋œ๋‹ค.
  4. 6๋ฒˆ ๋…ธ๋“œ์—์„œ 3๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™: 3๋ฒˆ ๋…ธ๋“œ์˜ ํ˜„์žฌ est๋Š” 4.5์ด๋‹ค. 6๋ฒˆ ๋…ธ๋“œ์˜ eft์ธ 2.0๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์—…๋ฐ์ดํŠธ ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ„๋‹ค.
  5. 7๋ฒˆ ๋…ธ๋“œ๋กœ ํƒ์ƒ‰: 6๋ฒˆ ๋…ธ๋“œ์™€ ์ƒํ™ฉ์ด ๊ฐ™๋‹ค. est ๋Š” 0, eft๋Š” 0 + 0.5 = 0.5๊ฐ€ ๋œ๋‹ค.
  6. 7๋ฒˆ ๋…ธ๋“œ์—์„œ 3๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™: 3๋ฒˆ ๋…ธ๋“œ์—๋Š” est๋กœ 4.5 ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์ด ๊ฐ’์ด 7๋ฒˆ ๋…ธ๋“œ์˜ eft๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

Phase 4

 

์—ฌ๊ธฐ๊นŒ์ง€ ์ง„ํ–‰์ด ๋˜๋ฉด ์œ„์™€ ๊ฐ™์ด est, eft๊ฐ€ ๊ฐ ๋…ธ๋“œ์— ์ €์žฅ๋œ๋‹ค. ์ด์ œ ๋งˆ๋ฌด๋ฆฌ๋งŒ ์ž˜ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

  1. 3๋ฒˆ ๋…ธ๋“œ์—์„œ 4๋ฒˆ ๋…ธ๋“œ๋กœ ๋ฐฑํŠธ๋ž™: 4๋ฒˆ ๋…ธ๋“œ์˜ est์—๋Š” 2๋ฒˆ ๋…ธ๋“œ์˜ ํƒ์ƒ‰์„ ๋๋ƒˆ์„ ๋•Œ์˜ ๊ฐ’์ธ 15๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. 3๋ฒˆ ๋…ธ๋“œ๊ฐ€ ํƒ์ƒ‰์ด ์™„๋ฃŒ๋˜๊ณ  ๋ฐฑํŠธ๋ž™ํ–ˆ์„ ๋•Œ, 3๋ฒˆ ๋…ธ๋“œ์˜ eft์ธ 10.5๋Š” ํ˜„์žฌ 4๋ฒˆ ๋…ธ๋“œ์˜ est์ธ 15๋ณด๋‹ค ์ž‘๊ธฐ ๋•Œ๋ฌธ์— 4๋ฒˆ ๋…ธ๋“œ๋Š” est๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. 4๋ฒˆ ๋…ธ๋“œ ํƒ์ƒ‰์ข…๋ฃŒ: 4๋ฒˆ ๋…ธ๋“œ์˜ ํƒ์ƒ‰์ด ๋๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— eft๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ 4๋ฒˆ ๋…ธ๋“œ์˜ est์ธ 1.0 ๊ณผ ์ด๋™์‹œ๊ฐ„ 1.0์„ ๋”ํ•ด์„œ ์ตœ์ข…์ ์œผ๋กœ 4๋ฒˆ ๋…ธ๋“œ์˜ eft๋Š” 16.0์ด ๋œ๋‹ค.
  3. done์œผ๋กœ ๋ฐฑํŠธ๋ž™: ๋ชจ๋“  ํ•˜์œ„ ๋…ธ๋“œ๋“ค์˜ ํƒ์ƒ‰์„ ๋งˆ์น˜๊ณ  done ์— ๋Œ์•„์˜ค๊ฒŒ ๋˜๋ฉด, done์˜ est ์™€ eft๋Š” 0์œผ๋กœ ์ดˆ๊ธฐํ™” ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ done์˜ est์™€ eft๋Š” ๋ชจ๋‘ 16์ด ๋œ๋‹ค.

์ด ์˜ˆ์ œ์—์„œ ์ตœ์ข…์ ์œผ๋กœ ๋‚˜์˜จ ๋‹ต์€ 9์—์„œ 4๊นŒ์ง€ ์ด๋™ํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์•„๋ฌด๋ฆฌ ์˜ค๋ž˜๊ฑธ๋ ค์„œ 16 ์ดํ•˜๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.