2018 KAKAO BLIND RECRUITMENT - [1차 캐시]
from collections import deque
def solution(cacheSize, cities):
if cacheSize == 0:
return 5 * len(cities)
queue = deque()
time = 0
for city in cities:
city = city.lower()
if city in queue:
queue.remove(city)
queue.append(city)
time += 1
continue
else:
if len(queue) < cacheSize:
queue.append(city)
else:
if queue:
queue.popleft()
queue.append(city)
time += 5
return time
비교적 쉬운 문제였으나 사소한 조건인 대소문자를 구분하지 않는다는 것을 놓쳐서 처음 통과하지 못했고, 그 다음은 cache hit를 했을 때, 그것을 제일 최신 것으로 갱신해줘야한 다는 것을 몰라서 통과하지 못했다. LRU를 다시 확인하고 통과했다.