취준/프로그래머스
캐시 - 파이썬
놀만큼논사람
2022. 9. 8. 23:17
https://school.programmers.co.kr/learn/courses/30/lessons/17680?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
from collections import deque
def solution(cacheSize, cities):
time=0
cache = deque()
cities=[i.lower() for i in cities]
for i in cities:
if len(cache) <cacheSize:
if i in cache:
time +=1
cache.append(i)
cache.remove(i)
else:
cache.append(i)
time+=5
else:
if i in cache:
time+=1
cache.append(i)
cache.remove(i)
else:
cache.append(i)
cache.popleft()
time+=5
return time
다른사람의 풀이
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
maxlen으로 길이를 정해줄수있다는것을 배웠다.