julia coding story

[프로그래머스] 1차 캐시 python 본문

카테고리 없음

[프로그래머스] 1차 캐시 python

julia-biolat 2025. 2. 9. 15:58
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/17680

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

이거는 문제를 잘봐야함. 

각 도시 이름은 대소문자 구분을 하지 않음. 

 

이건 컴공과면 cache hit, miss의 개념을 이해할테니 패스함. 

모른다면 아키텍처나 다른 전공 과목 들어보도록

 

풀려면, 알아야하는 개념

1. lower(), upper()

소문자로, 대문자로 바꿔주는 함수임. 

i.lower()

 

2. remove('문자')

'문자'라는 요소가 들어간 것을 하나 remove 삭제됨. 

cash_list.remove(i)

 

 

 

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