import java.util.*;
public class Main {
public static int[] solution(int size, int k, int[] arr) {
int[] answer = new int[size];
//작업 번호를 탐색
for(int i = 0; i < arr.length; i++) {
//miss임을 판단 하는 인덱스 번호
int pos = -1;
//hit 났을 때 해당 인덱스 값을 구하기
for(int j = 0; j < size; j++) {
if (arr[i] == answer[j]) pos = j;
}
//miss이면 마지막 작업 부터 1번 인덱스까지 값들을 뒤로 보내기
//문제에서 마지막 값인 7을 없애고 그 이전에 있는 6을 넣어야함.
//0번 인덱스는 현재 작업 넣을거다.
if(pos == -1) {
for(int j = size-1; j >= 1; j--) {
answer[j] = answer[j - 1];
}
}
//hit이면 hit난 지점부터 1번 인덱스까지 값들을 뒤로 보내기
//0번 인덱스는 현재 작업 넣을거다.
else {
for(int j = pos; j >= 1; j--) {
answer[j] = answer[j - 1];
}
}
//무조건 현재 작업은 앞에 들어간다.
//이게 맨 처음에 들어가면 뒤로 보내는 작업을 할 때
//1번 인덱스에 0번 인덱스의 값이 들어가져버리므로
//뒤로 보내는 작업이 끝나고 나서 넣어주는게 맞다.
answer[0] = arr[i];
}
System.out.println(Arrays.toString(answer));
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr1 = {1,2,3,2,6,2,3,5,7};
int[] arr2 = {1,5,3,5,1,2,1,4};
int[][] arr3 = {{3,4,1,2}, {4,3,2,1}, {3,1,4,2}};
solution(5, 9, arr1);
}
}