티스토리 뷰

ALGORITHM/Inflearn

삽입정렬

Harimad 2022. 3. 14. 15:36

참고

 

삽입 정렬(Insertion Sort) | 👨🏻‍💻 Tech Interview

삽입 정렬(Insertion Sort) Goal Insertion Sort에 대해 설명할 수 있다. Insertion Sort 과정에 대해 설명할 수 있다. Insertion Sort을 구현할 수 있다. Insertion Sort의 시간복잡도와 공간복잡도를 계산할 수 있다. In

gyoogle.dev


출처: cs50 edwith

 

문제

삽입 정렬을 이용해서 N개의 숫자가 입력되면 오름차순으로 정리하는 프로그램 만드시오.

입력예제 1
11 7 5 6 10 9

출력예제 1
5 6 7 9 10 11

 

 

풀이 1 self

1. 맨 처음 요소는 정렬된 요소이고 그 다음 요소 부터는 정렬되지 않은 요소이다.

2. 정렬되지 않은 요소들을 반복순회한다.

2-1. 정렬되지않은 요소와 정렬된 요소들을 비교하면서 정렬된 값이 크다면 값을 swap해준다.

 

 

 

코드 1 self

function solution(arr){
  let answer=arr;

  for (let i = 1; i < arr.length; i++) {
    for (let j = i-1; j >= 0 ; j--) {
      if (answer[j+1] < answer[j]) [answer[j+1], answer[j]] = [answer[j], answer[j+1]];
      else break;
    }
  }
    
  return answer;
}

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

 

From tutor

function solution(arr){
  for (let i = 1; 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;
  }
  return arr;
}

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

 

 

 

출처

 

자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의

자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., - 강의

www.inflearn.com

 

'ALGORITHM > Inflearn' 카테고리의 다른 글

장난꾸러기 현수  (0) 2022.03.16
Least Recently Used(카카오 캐시 문제 변형)  (0) 2022.03.15
Special Sort(버블정렬응용)  (0) 2022.03.11
버블정렬(Bubble Sort)  (0) 2022.03.10
선택정렬  (0) 2022.03.08
댓글
다크모드
Document description javascript psychology
더보기 ,제목1 태그 호버