-
LRU(Least Recently Used) 알고리즘Algorithm 2020. 10. 7. 15:32
-
페이지 교체 알고리즘 중 하나
-
캐시에서 메모리를 다루기 위해 사용되는 알고리즘
-
한정된 메모리 공간 안에서 효율적인 사용을 하기 위해서 사용
-
가장 최근에 사용된 적이 없는 캐시의 메모리부터 새로운 데이터로 갱신시켜준다. 즉 가장 오랫동안 사용하지 않은것을 제거하는 알고리즘
-
이는 오래동안 사용 되지 않은 것은 앞으로도 사용될 가능성이 낮다고 보는것이다.
Cache Hit
- CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있을 경우
Cache Miss
- CPU가 참조하고자 하는 메모리가 캐시에 존재하지 않은 경우
LRU 예시
LRU 문제 추천
https://programmers.co.kr/learn/courses/30/lessons/17680
코딩테스트 연습 - [1차] 캐시
3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S
programmers.co.kr
Python Code
def solution(cacheSize, cities): res = 0 arr = [' '] * cacheSize for city in cities: city = city.lower() if city in arr: res += 1 arr.remove(city) arr.append(city) else: res += 5 arr.append(city) arr.pop(0) return res
Reference
페이지 교체 알고리즘, LRU 캐시 교체 알고리즘이란? 캐시란?, Cache hit, Cache Miss
페이지 교체 알고리즘 LRULeast Recently Used 1. 개념가장 최근에 사용되지 않은 것페이지에서 제거...
blog.naver.com
[프로그래머스/Level2/파이썬3(python3)] [1차] 캐시 (2018 KAKAO BLIND RECRUITMENT)
[프로그래머스/Level2/파이썬3(python3)] [1차] 캐시 (2018 KAKAO BLIND RECRUITMENT) 문제 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베��
this-programmer.com
'Algorithm' 카테고리의 다른 글
[Python] 병합 정렬(merge sort) (0) 2020.05.15 [Python] 백준 1302번 베스트셀러 (0) 2020.05.14 [Python] 삽입 정렬(Insertion sort) (0) 2020.03.26 [Python] 선택 정렬(selection sort) (0) 2020.03.18 [Python] 버블 정렬(Buble sort) (0) 2020.03.15 TAG
-