DB 캐시를 적용할 때 캐시 크기에 따른 실행시간 측정 프로그램을 작성하시오.
cacheSize
)와 도시이름 배열(cities
)을 입력받는다.cacheSize
는 정수이며, 범위는 0<=cacheSize
<=30 이다.cities
는 도시 이름으로 이뤄진 문자열 배열로, 최대 도시 수는 100,000개이다.LRU
(Least Recently Used)를 사용한다.cache hit
일 경우 실행시간은 1
이다.cache miss
일 경우 실행시간은 5
이다.def solution(cacheSize, cities):
answer = 0
cache = []
for city in [x.lower() for x in cities]:
if city in cache:
answer += 1
if cacheSize > 0: # 캐시가 있는 경우
cache.remove(city)
cache.append(city)
else:
answer += 5
if cacheSize > 0: # 캐시가 있는 경우
if len(cache) == cacheSize:
cache.pop(0)
cache.append(city)
return answer