ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
N๊ฐ์ ์ซ์๊ฐ ์ ๋ ฅ๋๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฒ๋ธ์ ๋ ฌ์ ๋๋ค.
๋ฌธ์ ํ์ด
๋ฒ๋ธ ์ ๋ ฌ(Bubble Sort)
- ์๋ก ์ธ์ ํ ๋ ์์๋ฅผ ๊ฒ์ฌํ์ฌ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ธ์ ํ 2๊ฐ์ ๋ ์ฝ๋๋ฅผ ๋น๊ตํ์ฌ ํฌ๊ธฐ๊ฐ ์์๋๋ก ๋์ด ์์ง ์์ผ๋ฉด ์๋ก ๊ตํ
- ์ ํ ์ ๋ ฌ๊ณผ ๊ธฐ๋ณธ ๊ฐ๋ ์ด ์ ์ฌ
- ์ฒซ ๋ฒ์งธ ์๋ฃ์ ๋ ๋ฒ์งธ ์๋ฃ๋ฅผ, ๋ ๋ฒ์งธ ์๋ฃ์ ์ธ ๋ฒ์งธ ์๋ฃ๋ฅผ, (๋ง์ง๋ง - 1)๋ฒ์งธ ์๋ฃ์ ๋ง์ง๋ง ์๋ฃ๋ฅผ ๋น๊ต ๋ฐ ๊ตํํ์ฌ ์ ๋ ฌ
- 1ํ ์ํ๋ฅผ ๋ง์น๋ฉด ๊ฐ์ฅ ํฐ ์๋ฃ๊ฐ ๋งจ ๋ค๋ก ์ด๋ํ๋ฏ๋ก 2ํ์ ์์๋ ๋งจ ๋์ ์๋ ์๋ฃ๋ ์ ๋ ฌ์์ ์ ์ธ
์ฝ๋
function solution(...arr) {
let answer = arr;
for(let i = 0; i < arr.length - 1; i++) { ๋ง์ง๋ง ๋ ์ธ๋ฑ์ค ์์๋ฅผ ๋น๊ต ํ์ ๋๋จธ์ง ํ๋๋ง ๋จ๊ธฐ ๋๋ฌธ์ ๋ ์ํํ ํ์ ์์
for(let j = 0; j < (arr.length - i - 1); j++) { //1ํ ์ํ๋ฅผ ๋ง์น ๊ฒฝ์ฐ ๋ค์์๋ ๋ง์ง๋ง ์ธ๋ฑ์ค ์์๋ฅผ ์ ์ธํ๊ณ ์ํ
if(arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
}
}
}
return answer;
}
console.log(solution(13, 5, 11, 7, 23, 15));
'์๊ณ ๋ฆฌ์ฆ > ํ๊ทธ ๋ณ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฝ์ ์ ๋ ฌ (0) | 2021.07.19 |
---|---|
Special Sort (0) | 2021.07.18 |
์ ํ ์ ๋ ฌ (0) | 2021.07.17 |
[ํ]๊ต์ก๊ณผ์ ์ค๊ณ (0) | 2021.07.16 |
[ํ]๊ณต์ฃผ ๊ตฌํ๊ธฐ (0) | 2021.07.15 |
๋๊ธ