현재 멀티탭에 삽입하고자 하는 플러그가 있으면 continue 한다.
멀티탭 자리가 비어있으면 그대로 꽂는다.
멀티탭의 자리가 꽉 찼을 경우 뽑아야할 때, 꽂혀있는 플러그 중에서 이후 가장 나중에 사용되는 전기용품 또는 이후 사용되지 않는 전기용품을 먼저 뽑는다.
N과 K모두 100이하 이므로 시간초과에 대해서 생각하지 않아도 된다.
import sys
n, k = map(int, input().split())
arr = list(map(int, input().split()))
plugin = []
answer = 0
for i in range(k):
if arr[i] in plugin:
continue
if len(plugin) < n:
plugin.append(arr[i])
continue
# 플러그를 뽑아야 함
answer += 1
out = 0 # 뽑을 플러그
outidx = 0 # out이 이후 몇 번째에 사용되는지 (arr에서 인덱스)
for j in range(n):
try:
idx = arr[i+1:].index(plugin[j]) # 똑같은 수 인덱스 찾기
if idx > outidx: # 제일 나중에 쓰일 것 찾기 위해
out = j
outidx = idx
except:
# 이후 사용되지 않는 플러그가 있다면 걔를 뽑으면 된다.
out = j
break
plugin[out] = arr[i]
print(answer)