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

๋ฌธ์ œ

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

 

๋ฌธ์ œํ’€์ด

์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort)

  • ์† ์•ˆ์˜ ์นด๋“œ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌ
  • ์ž๋ฃŒ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐฐ์—ด ๋ถ€๋ถ„๊ณผ ๋น„๊ต
  • ๋น„๊ต ํ›„ ์ž์‹ ์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„ ์‚ฝ์ž…ํ•จ์œผ๋กœ์จ ์ •๋ ฌ์„ ์™„์„ฑ
  • ๋งค ์ˆœ์„œ๋งˆ๋‹ค ํ•ด๋‹น ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ฐพ์•„ ํ•ด๋‹น ์œ„์น˜์— ์ ์žฌ

์ฝ”๋“œ

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

  for(let i = 1; i < arr.length; i++) { //์‚ฝ์ž… ์ •๋ ฌ ๋‘ ๋ฒˆ์งธ ์ž๋ฃŒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค ์ดˆ๊ธฐ๊ฐ’ 1
    for(let j = i; j > 0; j--) { //ํ˜„์žฌ ์ž์‹  ์•ž์— ๋†“์—ฌ ์žˆ๋Š” ์ž๋ฃŒ ๋ฐฐ์—ด์˜ ๊ฐฏ์ˆ˜๋งŒํผ ์ˆœํšŒํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฐฏ์ˆ˜๋งŒํผ ์ดˆ๊ธฐ๊ฐ’ ํ• ๋‹น
      if(arr[j] < arr[j - 1]) {
        [arr[j - 1], arr[j]] = [arr[j], arr[j - 1]];
      } else break; // ์ž์‹ ์˜ ์•ž์— ์š”์†Œ๋ณด๋‹ค ํฌ๋‹ค๋Š” ๊ฒƒ์€ ๊ทธ ์ดํ›„์— ๋‚˜์˜ค๋Š” ์–ด๋– ํ•œ ์ˆ˜๋ณด๋‹ค๋„ ์ž‘์•„์งˆ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ˆœํšŒ ์ข…๋ฃŒ
    }
  }

  return answer;
}

console.log(solution(11, 7, 5, 6, 10, 9));

function solution(arr){
                let answer=arr;
                for(let i=0; i<arr.length; i++){
                    let tmp=arr[i], j;
                    for(j=i-1; j>=0; j--){
                        if(arr[j]>tmp) arr[j+1]=arr[j]; //์ด์ „ ์š”์†Œ๊ฐ€ ํด ๊ฒฝ์šฐ ํ•ด๋‹น ์š”์†Œ๋ฅผ ๋’ค๋กœ ๋„˜๊น€
                        else break;
                    }
                    arr[j+1]=tmp; //๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆœํšŒ๊ฐ€ ๋๋‚œ ์œ„์น˜์— tmp ์‚ฝ์ž…
                } 
                return answer;
            }

            let arr=[11, 7, 5, 6, 10, 9];
            console.log(solution(arr));

'์•Œ๊ณ ๋ฆฌ์ฆ˜ > ํƒœ๊ทธ ๋ณ„ ํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์žฅ๋‚œ๊พธ๋Ÿฌ๊ธฐ ํ˜„์ˆ˜  (0) 2021.07.21
Least Recently Used  (0) 2021.07.20
Special Sort  (0) 2021.07.18
๋ฒ„๋ธ” ์ •๋ ฌ  (0) 2021.07.18
์„ ํƒ ์ •๋ ฌ  (0) 2021.07.17
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
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
๊ธ€ ๋ณด๊ด€ํ•จ