๐ฅ Algorithm/Programmers
[ํ๋ก๊ทธ๋๋จธ์ค] 1์ฐจ ์บ์ (javaScript)
Lennon
2021. 10. 7. 17:33
728x90
๋ฐ์ํ
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
function solution(cacheSize, cities) {
const city = cities.map(a => a.toLowerCase());
// ๋ฐฐ์ด ๋ด ์์ ์๋ฌธ์๋ก
let queue = [];
let time = 0;
for(let i = 0; i < city.length; i++){
if(!queue.includes(city[i])){ // ํ์ ๋์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด
time+=5;
queue.push(city[i]);
if(queue.length > cacheSize){ // ์บ์์ฌ์ด์ฆ๋ฅผ ๋์ผ๋ฉด ์ ์์ ์ญ์
queue.shift();
}
}
else{ // ๋์๊ฐ ํ์ ์์ผ๋ฉด
time++;
let idx = queue.indexOf(city[i]);
queue.splice(idx, 1);
queue.push(city[i]); // ์ธ๋ฑ์ค ์ฐพ์์ ์ ๊ฑฐ ํ ๋งจ ๋ค์ ์ฝ์
}
}
return time;
}
728x90
๋ฐ์ํ