내풀이. deque하면 pop안에 인덱스가 안들어 간다는걸 몰랐다. 그래서 결국 그냥 큐로 바꿈.
def solution(cacheSize, cities):
cache = []
total_cost = 0
for city in cities:
lo_city = city.lower()
if lo_city not in cache:
cache.append(lo_city)
total_cost += 5
if len(cache) > cacheSize:
cache.pop(0)
else:
cache.append(cache.pop(cache.index(lo_city)))
total_cost += 1
return total_cost
남의 코드
볼 것 :maxlen으로 크기제한, remove로 바로 없애기.
# 남의 풀이
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
'practivceAlgorithm > programmers' 카테고리의 다른 글
[Programmers][Python] 퍼즐조각채우기 (0) | 2021.10.14 |
---|---|
[Programers][Python] 부족한 금액 계산하기 (0) | 2021.10.09 |
[프로그래머스][Python] 입실 퇴실 (0) | 2021.09.13 |
[Programmers][Python] 카카오2020블라인드 가사검색 (0) | 2021.09.05 |
[Programmers] 카카오기출2018 뉴스 클러스터링. (0) | 2021.08.31 |