본문 바로가기
알고리즘/프로그래머스

[파이썬][프로그래머스] Lv. 2 [1차] 캐시

by SBOX Learning by doing 2022. 8. 28.
반응형
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
반응형

댓글