PS/inflearn java coding
LRU 연습문제
easy16
2022. 4. 10. 16:50
Tip : 원소 유무 확인, 삽입정렬과 같은 방식으로 입력데이터 처리.
import java.util.Scanner;
class Main {
static int answer = 0;
public static void main(String args[]) throws Exception {
Scanner in = new Scanner(System.in);
int size = in.nextInt();
int n = in.nextInt();
int [] arr = new int[n];
int [] cache = new int[size];
for ( int i = 0; i < n ; i++)
arr[i] = in.nextInt();
for ( int value : arr) {
boolean isIn = false;
int idx = -1;
for (int i = 0 ; i < size ; i++ ) {
if ( cache[i] == value ) {
isIn = true;
idx = i;
break;
}
}
if ( !isIn ) {
int i =0;
for ( i=size-2; i >= 0 ; i--) {
cache[i+1] =cache[i];
}
cache[i+1]=value;
} else {
int tmp = cache[idx];
int i;
for ( i=idx-1 ; i >= 0 ; i--) {
cache[i+1] =cache[i];
}
cache[i+1]=tmp;
}
}
for ( int value : cache) {
System.out.print(value + " ");
}
}
}
ex)
input
5 9
1 2 3 2 6 2 3 5 7
output
7 5 3 2 6