ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

N๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์„ ํƒ์ •๋ ฌ์ž…๋‹ˆ๋‹ค.

 

๋ฌธ์ œํ’€์ด

์„ ํƒ์ •๋ ฌ(Selection Sort)

  • ์„ ํƒ์ •๋ ฌ์€ ๊ธฐ์กด์— ์ž๋ฆฌ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์Œ_์ œ์ž๋ฆฌ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ ์ค‘์— ์ตœ์†Œ value๋ฅผ ํƒ์ƒ‰
  • ํ•ด๋‹น ๊ฐ’์„ ๋งจ ์•ž์— ์œ„์น˜ํ•œ value ๊ต์ฒด
  • ์ฐธ์กฐ๋ฅผ ๋งˆ์นœ ํ•ด๋‹น ์œ„์น˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๋ฆฌ์ŠคํŠธ๋ฅผ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ต์ฒด
  • n๊ฐœ์˜ ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ => ์‹œ๊ฐ„๋ณต์žก๋„ ์ƒ n^2

์ฝ”๋“œ

function solution(...arr) {
  let answer = arr;

  for(let i = 0; i < arr.length; i++) {
    for(let j = (i + 1); j < arr.length; j++) { //์ž์‹ ์„ ์ œ์™ธํ•œ ๋’ค์˜ ์ธ๋ฑ์Šค ์š”์†Œ๋ถ€ํ„ฐ ์ˆœํšŒ ๋ฐ ์ฐธ์กฐ
      let tmp; //๊ฐ’์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์ œ๋Œ€๋กœ ๋œ value swap์„ ์œ„ํ•ด์„œ ์ž„์˜์˜ ๋ณ€์ˆ˜ ์„ค์ •
      if(arr[i] > arr[j]) {
        tmp = arr[j];
        arr[j] = arr[i];
        arr[i] = tmp;
      }
    }
  }
  return answer;
}

console.log(solution(13, 5, 11, 7, 23, 15));

function solution(...arr) {
  let answer = arr;

  for(let i = 0; i < arr.length; i++) {
    for(let j = (i + 1); j < arr.length; j++) {
      if(arr[i] > arr[j]) {
        [arr[i], arr[j]] = [arr[j], arr[i]]; //์•ˆ์ „ํ•œ swap์„ ์œ„ํ•œ ES6์˜ ๋””์ŠคํŠธ๋Ÿญ์ณ๋ง ํ• ๋‹น ์‚ฌ์šฉ
      }
    }
  }

  return answer;
}

console.log(solution(13, 5, 11, 7, 23, 15));
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/01   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ