[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋์คํฌ ์ปจํธ๋กค๋ฌ
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/42627
๋ฌธ์ ์ค๋ช
ํ๋๋์คํฌ๋ ํ ๋ฒ์ ํ๋์ ์์ ๋ง ์ํํ ์ ์์ต๋๋ค. ๋์คํฌ ์ปจํธ๋กค๋ฌ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์์ฒญ์ด ๋ค์ด์จ ์์๋๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋๋ค.
์๋ฅผ๋ค์ด
- 0ms ์์ ์ 3ms๊ฐ ์์๋๋ A์์ ์์ฒญ - 1ms ์์ ์ 9ms๊ฐ ์์๋๋ B์์ ์์ฒญ - 2ms ์์ ์ 6ms๊ฐ ์์๋๋ C์์ ์์ฒญ
์ ๊ฐ์ ์์ฒญ์ด ๋ค์ด์์ต๋๋ค. ์ด๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
ํ ๋ฒ์ ํ๋์ ์์ฒญ๋ง์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ์ ์์ ์ ์์ฒญ๋ฐ์ ์์๋๋ก ์ฒ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ ๋ฉ๋๋ค.
- A: 3ms ์์ ์ ์์ ์๋ฃ (์์ฒญ์์ ์ข ๋ฃ๊น์ง : 3ms) - B: 1ms๋ถํฐ ๋๊ธฐํ๋ค๊ฐ, 3ms ์์ ์ ์์ ์ ์์ํด์ 12ms ์์ ์ ์์ ์๋ฃ(์์ฒญ์์ ์ข ๋ฃ๊น์ง : 11ms) - C: 2ms๋ถํฐ ๋๊ธฐํ๋ค๊ฐ, 12ms ์์ ์ ์์ ์ ์์ํด์ 18ms ์์ ์ ์์ ์๋ฃ(์์ฒญ์์ ์ข ๋ฃ๊น์ง : 16ms)
์ด ๋ ๊ฐ ์์ ์ ์์ฒญ๋ถํฐ ์ข ๋ฃ๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ์ ํ๊ท ์ 10ms(= (3 + 11 + 16) / 3)๊ฐ ๋ฉ๋๋ค.
ํ์ง๋ง A → C → B ์์๋๋ก ์ฒ๋ฆฌํ๋ฉด
- A: 3ms ์์ ์ ์์ ์๋ฃ(์์ฒญ์์ ์ข ๋ฃ๊น์ง : 3ms) - C: 2ms๋ถํฐ ๋๊ธฐํ๋ค๊ฐ, 3ms ์์ ์ ์์ ์ ์์ํด์ 9ms ์์ ์ ์์ ์๋ฃ(์์ฒญ์์ ์ข ๋ฃ๊น์ง : 7ms) - B: 1ms๋ถํฐ ๋๊ธฐํ๋ค๊ฐ, 9ms ์์ ์ ์์ ์ ์์ํด์ 18ms ์์ ์ ์์ ์๋ฃ(์์ฒญ์์ ์ข ๋ฃ๊น์ง : 17ms)
์ด๋ ๊ฒ A → C → B์ ์์๋ก ์ฒ๋ฆฌํ๋ฉด ๊ฐ ์์ ์ ์์ฒญ๋ถํฐ ์ข ๋ฃ๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ์ ํ๊ท ์ 9ms(= (3 + 7 + 17) / 3)๊ฐ ๋ฉ๋๋ค.
๊ฐ ์์ ์ ๋ํด [์์ ์ด ์์ฒญ๋๋ ์์ , ์์ ์ ์์์๊ฐ]์ ๋ด์ 2์ฐจ์ ๋ฐฐ์ด jobs๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์ ์ ์์ฒญ๋ถํฐ ์ข ๋ฃ๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ์ ํ๊ท ์ ๊ฐ์ฅ ์ค์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ํ๊ท ์ด ์ผ๋ง๊ฐ ๋๋์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. (๋จ, ์์์ ์ดํ์ ์๋ ๋ฒ๋ฆฝ๋๋ค)
ํ์ด
์ด์์ฒด์ ๋ฅผ ๊ณต๋ถํ๋ ์ฌ๋๋ค์๊ฒ๋ ์ฝ๊ฒ ์ดํด๊ฐ ๋์์ SJF(Shortest Job First) ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋๋ก ๊ตฌํํ๋ ๋ฌธ์ ์์ต๋๋ค. ํ์ ์ฌ์ฉํ ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ์ง๋ง, swift๋ ์ฐ์ ์์ ํ๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ์ ํตํด ์ํ๋ ์ฐ์ ์์๊ฐ ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์ด ์ ์ผ ๋์ผ๋ก ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ์ฒ์์๋ ๊ฐ์ฅ ๋จผ์ ๋์ฐฉํ ์์ ์ ์ํํ๋ค.
2. ์ด๋ฒ ์์ ์ ์ํํ๋ ๋์ ๋์ฐฉํ๋ ์์ ๋ค์ ๋ณ๋์ ์์ ํ์ ๋ชจ์๋ค.
3. ์์ ํ์ ๋์ฐฉํ ์์ ๋ค ์ค ์ํ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ์์ ์ ๊บผ๋ด ์ํํ๋ค.
4. ๋ชจ๋ ์์ ์ ์ฒ๋ฆฌํ ๋๊น์ง 2, 3๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
๊ทธ๋ฐ๋ฐ ์์ ์ผ์ด์ค์์๋ ์ ์๊ณ ๋ฆฌ์ฆ๋๋ก ์ฒ๋ฆฌํ์ ๋, ์ก์๋ด์ง ๋ชปํ๋ ์ผ์ด์ค๊ฐ ์์ต๋๋ค. ์์ ๋ค์ด ์ฐ๋ฌ์ ๋ค์ด์ค์ง ์๊ณ ์ค๊ฐ์ ๋น์ด์๋ ์๊ฐ์ด ์์ ๋์ธ๋ฐ์, ์ ๋ ์ด๋ฅผ ์ํด์ ์์ ํ์ ๋ ์ด์ ์์ ์ด ์๊ณ , ์์ง ๋์ฐฉํด์ผํ ์์ ๋ค์ด ๋จ์๋ค๋ฉด ๊ทธ ์ค ๊ฐ์ฅ ๋นจ๋ฆฌ ๋์ฐฉํ๋ ํ๋์ ์์ ์ ๊บผ๋ด ์์ ํ๋ก ๋ฃ์ด์ฃผ๋ ๋ฐฉ๋ฒ์ ์ ํํ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ค๊ฐ์ ์์ ์ด ๋๊ธฐ๋ ๊ตฌ๊ฐ์ด ์๊ฒจ๋ ๋ฐ๋ก ๋ค์ ์์ ์ ๋ฐ์์ ์ฒ๋ฆฌํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
์ฝ๋
'๐๐ปโโ๏ธ ํผ-์์ค > ๐ฃ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋ฒ ์คํธ์จ๋ฒ (0) | 2021.10.03 |
---|---|
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋จ์ด ๋ณํ (1) | 2021.10.03 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ์์ (0) | 2021.09.21 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋คํธ์ํฌ (0) | 2021.09.21 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๊ฐ์ฅ ๋จผ ๋ ธ๋ (0) | 2021.09.21 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote