728x90
300x250
N,K =map(int,input().split())
S = list(map(int,input().split()))
code = []
ans =0
for i in range(K):
if S[i] in code: #코드에 동일한기기가 이미 꽂혀있음
continue
if len(code)<N: #코드 자리남아있음
code.append(S[i])
continue
pri = []
for c in code: #이미 코드가 꽂혀있음
if c in S[i:]:#다음에 이용 가능
pri.append(S[i:].index(c))
print(S[i:].index(c))
else:
pri.append(101)
target = pri.index(max(pri))
code.remove(code[target])
code.append(S[i])
ans+=1
print(ans)
1.N,K는 멀티탭수와 멀티탭에 꽂을 디바이스 수
2.S는 디바이스 리스트
3.디바이스 수 만큼 for문
4.코드에 동일 기기 있을 경우 continue
5.코드에 새로운 디바이스를 꽂을 자리가 있으면 code 리스트에 추가 후 continue
6.code [] 에 이미 코드가 꽂혀있는 경우
-만약 2디바이스가 있었고 뒤에 또 2디바이스 쓸 경우가 있으면, S[i:]기준으로 index값 확인
-없으면 k가 100까지였으므로 101을 추가함
-target에는 다시 안써도 될 디바이스를 제거
-기존에 없던 디바이스를 새로 추가
7.ans에 출력 값 저장
728x90
'내맘대로IT > Python' 카테고리의 다른 글
백준 14719 빗물 (1) | 2023.12.06 |
---|---|
백준 파이썬 2504 괄호의 값 (0) | 2023.12.01 |
백준 파이썬 14888 연산자끼워넣기 (0) | 2023.11.29 |
백준 파이썬1978 소수찾기 (0) | 2023.11.28 |
백준 파이썬 2581 소수 (1) | 2023.11.27 |