...
✔내 답 -> 오답
답은 정답이나 결론적으로 삽입정렬을 구현해내지 못했다. 따라서 오답
내가 삽입정렬을 제대로 이해하지 못한거 같다.
1. 두번째 데이터부터 시작
어떤 컨테이너가 있다고 생각하자. 이 컨테이너보다 크면 옆으로 한칸씩 이동
이 컨테이너에 두번째 데이터 넣고 첫번째 데이터와 비교
컨테이터<첫번째 데이터
첫번째 데이터는 옆으로 한칸 이동하고
첫번째 자리에 컨테이너 값 넣기
....
import java.util.*;
public class Main{
public static int[] solution(int n, int[] arr){
for(int i=1;i<=n-1;i++) {
int value = arr[i];
for(int j=0;j<=i-1;j++){
if(value<arr[j]) {
arr[i]=arr[j];
arr[j]=value;
i=j;
}
}
}
return arr;
}
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0;i<n;i++) arr[i]=kb.nextInt();
for(int x : solution(n,arr)) System.out.print(x+" ");
}
}
✔️ 강의 답