Lv2 프로그래머스(Programmers)[Python][파이썬] 캐시

"""
출처:프로그래머스,
https://school.programmers.co.kr/learn/courses/30/lessons/17680
"""
# 풀이 과정
def solution(cacheSize, cities):
from collections import deque

result = 0
check = deque([]) # cache_list

if cacheSize == 0:
return len(cities) * 5

for a in cities:
a = a.upper()
if len(check) < cacheSize:
if a in check:
i = check.index(a)
del check[i]
check.append(a)
result += 1

else:
check.append(a)
result += 5

else:
if a in check:
i = check.index(a)
del check[i]
check.append(a)
result += 1

else:
check.popleft()
check.append(a)
result += 5

return result