https://programmers.co.kr/learn/courses/30/lessons/17680
function solution(cacheSize, cities) {
var answer = 0;
var hitCount = 0;
var cacheArr = [];
// 고려해야 하는 사항
//[] , hit의 개수
if(cacheSize === 0){
return answer = cities.length*5;
} // 예외처리 안하면 7, 17 test 실패!
for(var i =0; i<cities.length; i++){
//같은게 있으면 hitCount++하고 push하지 않기
cities[i] = cities[i].toUpperCase();
var targetIndex = cacheArr.indexOf(cities[i]);
if(targetIndex==-1){ //같은게 없으면 앞에서 제거
if(cacheArr.length === cacheSize){ //꽉찬 경우 앞에서 제거
cacheArr.shift();
}
}else{ //같은게 있으면 같은 걸 제거
hitCount++;
cacheArr.splice(targetIndex, 1);
}
cacheArr.push(cities[i]); // 새로운 것 맨 뒤에 넣기
}
answer = (cities.length-hitCount)*5 + hitCount;
return answer;
}
arr.indexOf();