기본로직
입력값에서 가장 작은 값을 찾아서 결과값에 하나씩 삽입하는 정렬방식
let 입력값 = [5, 2, 4, 1, 6, 9, 11, 13, 7]
let 입력값길이 = 입력값.length;
let 결과값 = [];
for(let i=0; i<입력값길이; i++){
let 삽입값 = 입력값.shift()
let 인덱스 = 인덱스함수(결과값, 삽입값)
결과값.splice(인덱스, 0, 삽입값)
console.log(결과값)
}
function 인덱스함수(결과값, 삽입값){
for(let i in 결과값){
if(삽입값 < 결과값[i]){
return i
}
}
return 결과값.length
}
해설:
1. 기준이 될 맨 앞 숫자를 shift 해준다.
2. 삽입을 위해 splice 해주기 위해 인덱스 값을 찾아줘야한다.
3. 인덱스는 인덱스 함수 function 으로 결과값과 삽입값을 인자로 받는다.
4. 반복문으로 결과값의 인덱스들을 돌면서 삽입값이 결과값의 i번째보다 작으면
i 번째를 반환해준다.
5. 아무것도 아니면 결과값 길이를 반환해준다.
6. 결과값에 splice 해준다.