[알고리즘] 프로그래머스 - [1차 캐시]
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를 다시 확인하고 통과했다.
출처 : https://gomguard.tistory.com/115
Author And Source
이 문제에 관하여([알고리즘] 프로그래머스 - [1차 캐시]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@injoon2019/알고리즘-프로그래머스-1차-캐시저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)