def solution(cacheSize, cities):
answer = 0
d =[]
for i in cities:
i= i.upper()
a = answer
if cacheSize == 0:
answer += 5
elif i not in d and len(d)<cacheSize:
d.append(i)
answer += 5
elif i not in d and len(d) == cacheSize:
d = d[1:]
d.append(i)
answer += 5
elif i in d and len(d) == cacheSize:
d.remove(i)
d.append(i)
answer += 1
elif i in d and len(d)<cacheSize:
d.remove(i)
d.append(i)
answer += 1
return answer
풀이
웃기게도(?) cache에 대해 잘 몰라서 오래 걸린 문제였다
cache hit일 경우 실행시간은 1이다.
cache miss일 경우 실행시간은 5이다.
위의 조건에 따라 문제를 해결해야하는데, cache에 데이터를 입력하면 1의 시간이 걸리고, 빼는 경우 5의 시간이 걸리는 것으로 이해했다. 그래서 자꾸 에러가 발생했다ㅠㅠ그러나 문제에서 의도한 바는 cache에 cities 내 원소가 있을 때 1의 시간이 소요, 없을 땐 5의 시간이 소요된다는 말이었다.LRU는 아래의 그림을 참고했다