Programmers Level.2 캐시
def solution(cacheSize, cities):
if cacheSize == 0:
return len(cities) * 5
answer = 0
cache = []
for city in cities:
city = city.upper()
if city in cache:
cache.remove(city)
answer += 1
else:
answer += 5
if len(cache) == cacheSize:
cache.pop(0)
cache.append(city)
return answer
- list를 이용해서 구현
def solution(cacheSize, cities):
import collections
cache = collections.deque(maxlen=cacheSize)
time = 0
for i in cities:
s = i.lower()
if s in cache:
cache.remove(s)
cache.append(s)
time += 1
else:
cache.append(s)
time += 5
return time
- deque에 maxlen기능을 활용해서 구현한 방법이 있길래 신기해서 가져와봤다..
'알고리즘 문제 풀이 > Programmers' 카테고리의 다른 글
[20회차] 영어 끝말잇기 (0) | 2021.12.31 |
---|---|
[19회차] 후보키, 2개 이하로 다른 비트 (0) | 2021.12.29 |
[17회차] 괄호 회전하기, H-index, 예상 대진표, 순위 검색, 올바른 괄호 (0) | 2021.12.27 |
[16회차] 조이스틱 (0) | 2021.12.26 |
[15회차] 빛의 경로 사이클, 가장 큰 수 (0) | 2021.12.25 |
댓글