나의 개발일지

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

프로그래머스

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

YoonJuHan 2023. 5. 30. 23:33
def solution(cacheSize, cities):
    answer = 0

    lru = []    # 캐시 저장 리스트

    for city in cities:     # 도시이름을 쭉 방문
        if city.lower() in lru: # 대소문자 구분 때문에 소문자로 변환 후 캐시에 있는지 확인
            answer += 1         # 캐시에 적중했으면 +1
            lru.pop(lru.index(city.lower()))    # 적중한 캐시를 빼냄
        else:
            answer += 5     # 캐시 적중 실패 시 +5
            
        lru.append(city.lower())    # 캐시에 도시이름 넣기

        if len(lru) > cacheSize:    # 캐시 크기보다 커지면
            lru.pop(0)  # 가장 먼저 들어간 캐시 빼냄

    return answer
Comments