문제
풀이과정
1. city 이름은 대소문자를 구분하지 않기때문에 전부 city.lower() 로 통일시켜준다
2. city 가 캐시에 있으면, 기존에 있던것을 제거하고 맨 뒤에 추가한다 (가장 최근에 참조되었다는것을 나타내기위해)
2-1. 없으면, 캐시에 추가하고 cacheSize 를 벗어나게 되면 가장 오래된 0번째 원소를 제거한다.
Code
def solution(cacheSize, cities):
cache = []
answer = 0
for city in cities:
# 1
city = city.lower()
# 2-1
if city in cache:
cache.remove(city)
cache.append(city)
answer += 1
# 2-2
else:
cache.append(city)
if len(cache) > cacheSize:
cache.pop(0)
answer += 5
return answer
반응형
'➰ 취업준비 > 알고리즘 문제풀이' 카테고리의 다른 글
[Python][백준_1012] 유기농 배추 (BFS) (0) | 2021.12.20 |
---|---|
[Python][백준_2493] 탑 (0) | 2021.12.20 |
[Python][프로그래머스] level 2 - 프렌즈4블록 (0) | 2021.12.14 |
[Python][프로그래머스] level 3 - 보석쇼핑 (0) | 2021.07.13 |
[Python][프로그래머스] level 1 - 실패율 (0) | 2021.07.10 |