728x90
https://www.acmicpc.net/problem/1700
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] order = new int[k];
int cnt = 0;
for (int i = 0; i < k; i++) {
order[i] = sc.nextInt();
}
HashSet<Integer> set = new HashSet<>();
for (int i = 0; i < k; i++) {
if (set.contains(order[i]))
continue;
if (set.size() < n) {
set.add(order[i]);
continue;
}
Iterator<Integer> it = set.iterator(); //set의 모든 정보를 가져온다
int value = 0;
int idx = 0;
while (it.hasNext()) {
int tmp = it.next();
boolean flag = false;
for (int j = i + 1; j < k; j++) {
if (order[j] == tmp) {
if (j > idx) {
idx = j;
value = tmp; //가장 뒤에 오는 꼽혀있는 것
}
flag = true;
break;
}
}
if (!flag) {
value = tmp;
break;
}
}
set.remove(value);
set.add(order[i]);
cnt++;
}
System.out.println(cnt);
}
}
728x90
'CS > Algorithm' 카테고리의 다른 글
[JAVA / 백준 : 10775] 공항 (0) | 2021.07.25 |
---|---|
[ JAVA / 백준 : 3687 ] 성냥개비 (0) | 2021.07.23 |
[ JAVA / 백준 : 2437 ] 저울 (0) | 2021.07.21 |
[JAVA / 백준 : 1202] 보석도둑 (0) | 2021.07.20 |
[ JAVA / 백준 : 4796 ] 캠핑 (0) | 2021.07.16 |