반응형
- 사용한지 가장 오래된 페이지를 교체.
- 현 시점에서 가장 오랫동안 사용하지 않은 페이지와 교체.
- 각 페이지마다 계수기를 두어 사용하는 기법
개념설명: https://youtu.be/6wulDqi6z-s
function solution(cacheSize, cities) {
var cache = [],
answer = 0,
cache_idx = 0;
if (cacheSize == 0) return cities.length * 5;
cities.map(city => {
city = city.toLowerCase();
cache_idx = cache.indexOf(city);
if (cache_idx > -1)
{
cache.splice(cache_idx, 1);
answer++; // Cache Hit (page change)
}
else if (cache.length >= cacheSize)
{
cache.shift();
}
cache.push(city);
});
return ((cities.length - answer) * 5) + answer;
}
반응형
'Algorithm' 카테고리의 다른 글
jvascript array 경우의 수 구하기 (permute) (0) | 2022.02.15 |
---|---|
콜라츠 추측 (0) | 2021.08.27 |
하샤드의 수 (Harshad Number) (0) | 2021.08.25 |
덧셈 뺄셈 동적 계산 (dynamic plus minus, Dynamic addition and subtraction) (0) | 2019.07.19 |
주민등록번호 체계 및 유효성 검사 (javascript) (2) | 2016.10.07 |
퀵 정렬(Quick Sort) (javascript) (0) | 2016.05.31 |
재귀 함수를 이용한 거듭제곱 (a의 n승) (javascript) (0) | 2016.05.18 |
에라토스테네스의 체를 이용한 소수 찾기 (0) | 2016.05.17 |