728x90
๋ฐ์ํ
๐ ๋ฌธ์
N๊ฐ์ ์ซ์๊ฐ ์ ๋ ฅ๋๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค. ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฒ๋ธ ์ ๋ ฌ์ด๋ค.
๐ง ๋ฒ๋ธ ์ ๋ ฌ(bubble sort)์ด๋ ๋ฌด์์ผ๊นโ
- ์ฃผ์ด์ง ๋ฐฐ์ด์์ ์๋ก ์ธ์ ํ ๋ ์์๋ฅผ ๊ฒ์ฌํ์ฌ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ธ์ ํ 2๊ฐ์ ์์๋ฅผ ๋น๊ตํ์ฌ ํฌ๊ธฐ๊ฐ ์์๋๋ก ๋์ด ์์ง ์์ผ๋ฉด ์๋ก ๊ตํํ๋ค.
- ๊ตฌํ์ด ๋งค์ฐ ๊ฐ๋จํ์ง๋ง ๋นํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค. ํ๊ท ์๊ฐ๋ณต์ก๋ O(N^2)
๐ ํ์ด
function solution(arr) {
let answer = arr;
// 1ํ์ ์ ์ํํ ๋๋ง๋ค ์ ๋ ฌ์ด ํ์ ๋๋ ์์๊ฐ ํ๋์ฉ ์ฆ๊ฐ
for (let i = 0; i < arr.length - 1; i++) {
// j๊ฐ ๋๋ ๋ฒ์๋ ํ๋์ฉ ๊ฐ์
for (let j = 0; j < arr.length - (1 + i); j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return answer;
}
let arr = [13, 5, 11, 7, 23, 15];
console.log(solution(arr));
๐๐ป ์ฐธ๊ณ ํ ์ฌ์ดํธ
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/section 7] 04 - ์ฝ์ ์ ๋ ฌ (0) | 2022.10.03 |
---|---|
[JavaScript/section 7] 03 - Special Sort(๊ตฌ๊ธ ์ธํฐ๋ทฐ) (0) | 2022.10.02 |
[JavaScript/section 7] 01 - ์ ํ ์ ๋ ฌ (0) | 2022.09.29 |
[JavaScript/section 6] 07 - ๊ต์ก๊ณผ์ ์ค๊ณ (0) | 2022.09.28 |
[JavaScript/section 6] 06 - ๊ณต์ฃผ ๊ตฌํ๊ธฐ (0) | 2022.09.27 |