N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 삽입 정렬입니다.
첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
오름차순으로 정렬된 수열을 출력합니다.
- 삽입정렬은 두 번째 자료부터 시작해 그 앞(왼쪽)의 자료들과 비교해 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 삽입해 정렬하는 알고리즘이다.
- 두 번째 자료는 첫 번째 자료, 세 번째 자료는 두 번째와 첫 번째 자료, 네 번째 자료는 세 번째, 두 번째, 첫 번째 자료와 비교 후 자료가 삽입될 위치를 찾는다. 자료가 삽입될 위치를 찾았다면 그 위치에 자료를 삽입하기 위해 자료를 한 칸씩 뒤로 이동시킨다.
- 처음 Key값은 두 번째 자료부터 시작한다.
function solution(arr) {
let answer = arr;
for(let i = 1; i < arr.length; i++) {
let key = arr[i], j // 기준 점을 만들어준다.
for(j = i - 1; j >= 0; j--) {
if (arr[j] > key) arr[j+1] = arr[j]
else break;
}
arr[j+1] = key;
}
return arr;
}