PS
프로그래머스. 캐시
tose33
2021. 9. 23. 15:01
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", "Ro
programmers.co.kr
list 자료구조를 이용하면 캐시에 들어온 순서를 기억하지 않아도 된다.
들어온 도시가 캐시에 없고 캐시가 꽉찼다면? 도시를 list.push_back해주고 list.pop_front()해준다.
들어온 도시가 캐시에 있다면? 해당 도시를 리스트에서 erase하고 또다시 뒤에 push_back 해준다.
이렇게 하면 리스트의 가장 앞의 원소가 LRU (Leat recently used), 즉 가장 사용한지 오래된 원소가 된다.