알고리즘/프로그래머스문제풀이

[Python/프로그래머스][1차]캐시_구현

개발자 덕구🐾 2022. 10. 13. 10:31
728x90

 

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

cacheSize가 있는지 없는지에 따라 2가지로 구분해서 코드를 만들어야한다. 

 

그리고 대소문자 구분이 없으므로 city.lower()를 통해서 모든 문자를 소문자로 만들어 비교한다. 

 

 

 

 

 

 

코드 : 

def solution(cacheSize, cities):
    time = 0
    stack = []
    for c in cities :
        c= c.lower()
        if cacheSize : 
            if c in stack :
                time +=1 
                stack.remove(c)
                stack.append(c)
            else :
                time += 5 
                if len(stack) == cacheSize : stack.pop(0)
                stack.append(c)
        else :
            time+=5
    return time
반응형