알고리즘/프로그래머스
[파이썬][프로그래머스] Lv. 2 [1차] 캐시
SBOX Learning by doing
2022. 8. 28. 15:20
반응형
from collections import deque
def solution(cacheSize, cities):
answer = 0
cache = deque([])
for i in cities:
i = i.lower()
# 캐시안에 도시가 있을 때
if i in cache:
# 시간 계산
answer += 1
# 최신 캐시사용 갱신
cache.remove(i)
cache.append(i)
# 캐시안에 도시가 없을 때
else:
# 시간 계산
answer += 5
# 캐시 크기 0 일때
if cacheSize == 0:
continue
# 캐시가 비어있을때
if len(cache) < cacheSize:
cache.append(i)
else:
cache.popleft()
cache.append(i)
return answer
반응형