일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- BFS
- Combinations
- 백준
- 다익스트라
- 동적 계획법
- 위클리 챌린지
- 카카오
- python
- 수학
- Set
- 정렬
- backjoon
- Zip
- 재귀함수
- divmod
- 자바
- dfs
- java
- heapq
- 그리디
- 정규식
- 프로그래머스
- lambda
- DateTime
- Re
- 파이썬
- 추석맞이 코딩챌린지
- 이분탐색
- programmers
- KAKAO BLIND RECRUITMENT
Archives
- Today
- Total
상상쓰
[프로그래머스] [1차] 캐시 본문
https://programmers.co.kr/learn/courses/30/lessons/17680
LRU 알고리즘이란 메모리 상에서 가장 최근에 사용된 적이 없는 캐시의 메모리부터 대체하는 알고리즘이다.
deque 의 maxlen 을 사용하면 길이 초과시 가장 왼쪽에 있는 데이터(= 가장 최근에 사용된 적이 없는 데이터)가 제거된 후 새 데이터를 담는다.
from collections import deque
def solution(cacheSize, cities):
answer = 0
cache = deque(maxlen = cacheSize)
for i in cities:
if i.lower() in cache:
cache.remove(i.lower())
cache.append(i.lower())
answer += 1
else:
cache.append(i.lower())
answer += 5
return answer
print(solution(3, ['Jeju', 'Pangyo', 'Seoul', 'NewYork', 'LA', 'Jeju', 'Pangyo', 'Seoul', 'NewYork', 'LA'])) # 50
'Coding Test' 카테고리의 다른 글
[프로그래머스] [1차] 비밀지도 (0) | 2021.08.30 |
---|---|
[프로그래머스] 5주차_모음사전 (0) | 2021.08.30 |
[프로그래머스] [1차] 프렌즈4블록 (0) | 2021.08.27 |
[백준] 부녀회장이 될테야 (0) | 2021.08.27 |
[프로그래머스] [1차] 셔틀버스 (0) | 2021.08.25 |
Comments