[프로그래머스 Lv2] [1차] 캐시(python)
문제
https://programmers.co.kr/learn/courses/30/lessons/17680
나의 코드 (답안참조)
"""
1. 아이디어
2. 시간복잡도
"""
def solution(cacheSize, cities):
answer = 0
n = len(cities)
cache = []
for i in range(n): # 대소문자 구분 안한다는 조건해결
cities[i] = cities[i].lower()
for city in cities:
if city in cache: # cache hit
# used 되면 삭제 우선순위를 젤 뒤로 보냄
cache.remove(city)
cache.append(city)
answer += 1
else: # cache miss
cache.append(city)
answer += 5
# cache miss의 경우 값을 추가할 때 cacheSize가 초과되면 오래된 데이터는 삭제한다.
if len(cache) == cacheSize + 1:
cache.pop(0)
return answer
설명
"""
1. 아이디어
2. 시간복잡도
"""
def solution(cacheSize, cities):
answer = 0
n = len(cities)
cache = []
for i in range(n): # 대소문자 구분 안한다는 조건해결
cities[i] = cities[i].lower()
for city in cities:
if city in cache: # cache hit
# used 되면 삭제 우선순위를 젤 뒤로 보냄
cache.remove(city)
cache.append(city)
answer += 1
else: # cache miss
cache.append(city)
answer += 5
# cache miss의 경우 값을 추가할 때 cacheSize가 초과되면 오래된 데이터는 삭제한다.
if len(cache) == cacheSize + 1:
cache.pop(0)
return answer
큐의 성질을 조금 섞어놓은 문제..
참고자료
Author And Source
이 문제에 관하여([프로그래머스 Lv2] [1차] 캐시(python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@tyjk8997/프로그래머스-Lv2-1차-캐시python
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Author And Source
이 문제에 관하여([프로그래머스 Lv2] [1차] 캐시(python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tyjk8997/프로그래머스-Lv2-1차-캐시python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)