[Programmers] [1차] 캐시

태환·2024년 3월 17일
0

Coding Test

목록 보기
126/151

📌 [Programmers][1차] 캐시

📖 문제

📖 예제

📖 풀이

def solution(cacheSize, cities):
    if cacheSize == 0:
        return len(cities) * 5
    answer = 0
    cache = []
    for i in cities:
        i = i.lower()
        if i not in cache:
            answer += 5
        else:
            answer += 1
            cache.remove(i)
        if cacheSize <= len(cache):
            cache.pop(0)
        cache.append(i)
    return answer

캐시 사이즈가 0일 경우 캐시의 기능을 활용하지 못하기에 cities의 수 만큼 5를 곱해 출력한다.
캐시 사이즈가 자연수일 경우 각 cities가 캐시에 존재하는지의 여부에 따라 5 혹은 1을 더한다.
추가로 캐시 사이즈와 현재 캐시내의 데이터 수를 비교하여 가장 처음 추가된 데이터를 제거할지 유지할지를 결정한다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글