์ฃผ์ ๋ฆฌ ๋จผ์ ๐
์ผ๋จ ์ง๊ธ ์งํ์ค์ธ ํน๊ฐ์ ํ๋ฌ๋ง์ ์คํฐ๊ณจ์ ธ์ค ๐์คํฐ๋๐ ์ ๋ง ๋น์ ๋ค ์์์ผ๋ฉด ์ด์ฉ๋ปํ์ด.. ๋ค๊ฐ์ด ์ผ์ฐ์ผ์ฐ ํด์ ๋ญ๋ ์ฒ์ฒํด๋ด๋ ์ด ์คํฐ๋ ์ง์ง ์ต๊ณ ์ผ...........
์๋ฌดํผ 5์๋ถํฐ(!!!) ๋ค๊ฐ์ด ๋ ธ์ ์ ์ ๋ฆฌํ til์ด ๊ฝค ์์ฌ์ ๋ณต์ต์ด ํ์ํ๋ค๋ ๊ฒฐ๋ก ์ด ๋์๊ณ , ๊ทธ๋ฅ ์ฅ ์ฝ์ผ๋ฉด ๋๊ฐ ์ง์์ ๊ฑฐ๋ถํ ๊ฒ์ด๋ฏ๋ก ๊ฒฐ๊ตญ ํฐ์คํ ๋ฆฌ์ ํ๋ฒ ๋ค์ ์ ๋ฆฌํ๊ธฐ๋ก ๊ฒฐ์ฌ๐ #๊ฐ๋ณด์๊ณ
Quick sort ๐
- ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋
- ํ๊ท ์ ์ผ๋ก ๋งค์ฐ ๋น ๋ฅธ ์ํ ์๋๋ฅผ ๊ฐ์ง O(N*logN)
- ํ์ง๋ง ์ต์
์ ๊ฒฝ์ฐ O(n^2)๊ฐ ๋ ์๋ ์์ผ๋ฏ๋ก ํผ๋ฒ(pivot) ์ ํ์ ์ ์คํด์ผ ํจ
→ List๋ฅผ ์ ๋ ฌ ํ ๋ค์์ ๋ฑ ๊ฐ์ด๋ฐ ๊ฐ์ ์ ํํ๋ฉด ์ข๊ฒ ์ง๋ง.. ๊ทธ๋ฌ๋ฉด ๊ตณ์ด ํต์ ๋ ฌ์ ์ธ ํ์๊ฐ....๐ฐ
→ List์ ๊ธธ์ด๊ฐ 3 ์ด์์ธ ๊ฒฝ์ฐ, ์์๋ก ๊ฐ์ 3๊ฐ ๊ณ ๋ฅธ ๋ค์์ ๊ทธ ์ค์๊ฐ์ ํผ๋ฒ์ผ๋ก ์ค์ ํ๋ฉด ์ข์
โ ํต ์ ๋ ฌ์ ํฐ ํ๋ฆ
1. ๋ฆฌ์คํธ์์ ํผ๋ฒ์ ์ค์
2. ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์คํธ๋ฅผ 2๊ฐ๋ก ๋ถ๋ฆฌ
2-1. ๋ฆฌ์คํธ์์ ํผ๋ฒ์ ์ค์
2-2. ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ์์ ์์๋ ์ผ์ชฝ, ํฐ ์์๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋
3. ์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ฌ 2๋ฒ ๊ณผ์ ์ ๋ฐ๋ณต (๋ฆฌ์คํธ์ ํฌ๊ธฐ๊ฐ 0์ด๋ 1์ด ๋ ๋ ๊น์ง)
โ ์์์ ์ ๋ ฌ ํ๋ฆ
ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ์์๊ฑด ์ผ์ชฝ, ํฐ๊ฑด ์ค๋ฅธ์ชฝ์ผ๋ก ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์์ ๊ฐ๋ค.
๐ก 1, 2, 3์ ์๋์ ๊ฐ์ ๊ณผ์ ์ ํตํด์ ์ด๋ฏธ ์ ๋ ฌ์ด ๋ ๊ฒ์ด๋ค.
๐ก ํผ๋ฒ์ ์ ํ๋ ๋ฐฉ๋ฒ์ "๋ฆฌ์คํธ์ 0๋ฒ ์ธ๋ฑ์ค"๋ผ ํ๋ค.
1. ํผ๋ฒ์ (8)๋ก ์ค์ ํ๋ค.
2. ์ธ๋ฑ์ค ์ค๋ฆ์ฐจ์์ผ๋ก ํผ๋ฒ๋ณด๋ค ํฐ ๊ฐ์ ํ์ํ๊ณ , ๋ด๋ฆผ์ฐจ์์ผ๋ก๋ ํผ๋ฒ๋ณด๋ค ์์ ๊ฐ์ ํ์ํ๋ค.
→ (9)์ (4)
3. ๋ ๊ฐ์ ์์น๋ฅผ ๊ตํํ๊ณ , ๋ค์ ๊ฒ์ํ๋ค.
→ (10)์ (7)
4. ๋ ๊ฐ์ ์์น๋ฅผ ๊ตํํ๊ณ , ๋ค์ ๊ฒ์ํ๋ค.
→ ํผ๋ฒ๋ณด๋ค ํฐ ๊ฐ : (10), ํผ๋ฒ๋ณด๋ค ์์ ๊ฐ : (7)
→ ์์๊ฐ์ ์ธ๋ฑ์ค < ํฐ ๊ฐ์ ์ธ๋ฑ์ค ์ผ ๊ฒฝ์ฐ,๊ต์ฐจ
๊ฐ ์ผ์ด๋ฌ๋ค๊ณ ํ๋ฉฐ ํ์์ ์ข ๋ฃํ๋ค.
5. ์์ ๊ฐ(7)๊ณผ ํผ๋ฒ์ ์์น๋ฅผ ๊ตํํ๋ค.
6. ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์คํธ๋ฅผ 2๊ฐ๋ก ๋๋๋ค.
7. ํผ๋ฒ์ (7)๋ก ์ค์ ํ๋ค.
8. ์ธ๋ฑ์ค ์ค๋ฆ์ฐจ์์ผ๋ก ํผ๋ฒ๋ณด๋ค ํฐ ๊ฐ์ ํ์ํ๊ณ , ๋ด๋ฆผ์ฐจ์์ผ๋ก๋ ํผ๋ฒ๋ณด๋ค ์์ ๊ฐ์ ํ์ํ๋ค.
→ ํผ๋ฒ๋ณด๋ค ํฐ ๊ฐ : ์์, ํผ๋ฒ๋ณด๋ค ์์ ๊ฐ : (6)
→ ํฐ ๊ฐ, ์์ ๊ฐ ์ค ํ๋๋ผ๋ ์์ ๊ฒฝ์ฐ(๋๊น์ง ํ์ํ ๊ฒฝ์ฐ)๊ต์ฐจ
๊ฐ ์ผ์ด๋ ๊ฒ๊ณผ ๊ฐ์, ํ์ ์ข ๋ฃ
9. ์์ ๊ฐ(6)๊ณผ ํผ๋ฒ์ ์์น๋ฅผ ๊ตํํ๋ค.
10. ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์คํธ๋ฅผ 2๊ฐ๋ก ๋๋๋ค.
์์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
๋ง๋ก ์ค๋ช ํ ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด ์์ ๊ฐ๋ค!
์ฐธ๊ณ
'๐๊ณต๋ถ > ํฐ ๋ฐ๊ฒฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
REST API? (0) | 2021.10.08 |
---|---|
๋ถํ ํ ์คํธ, ์คํธ๋ ์ค ํ ์คํธ (0) | 2021.10.05 |
๋ธ๋ผ์ฐ์ ์ ์๋ ์๋ฆฌ (0) | 2021.08.13 |
0์ ํฉํ ๋ฆฌ์ผ (0) | 2020.12.09 |
์ค๋ ๊ณ์ฐํ๊ธฐ (0) | 2020.12.05 |
๋๊ธ