ํ๋ก ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์์๋ ๋ฌธ์ ,
ํ๋ฅผ ์บ์ ์ ์ฅ๊ณต๊ฐ์ฒ๋ผ ์ฌ์ฉํ๋ค.
ํ๊ฐ ์ ํด์ง ์บ์ ์ฌ์ด์ฆ์ ๋๋ฌํ๋ฉด, poll() ํด์ค๋ค offer() ํด์ค๋ค.
๋ง์ฝ, ์บ์ ํํธ๊ฐ ๋๋ฉด, ์ต์ ์บ์๋ก ์ ๋ฐ์ดํธ ํด์ค์ผ ํ๋ฏ๋ก remove()ํด์ค ๋ค offer() ํด์ค๋ค.
์บ์์ฌ์ด์ฆ๊ฐ 0์ธ ๊ฒฝ์ฐ์ ["LA","la"] ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ฉด ๋ต์ด 10์ด ๋์์ผ ํ๋ฏ๋ก, cache ์ฌ์ด์ฆ๊ฐ 0์ธ ๊ฒฝ์ฐ๋ง ๋ฐ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ฉด ๋๋ค.
import java.util.*;
class Solution {
Queue<String> cache;
public int solution(int cacheSize, String[] cities) {
int answer = 0;
cache = new LinkedList<>();
if(cacheSize==0){
return cities.length*5;
}
for(String city : cities){
city = city.toLowerCase();
if(cache.contains(city)){
cache.remove(city);
cache.offer(city);
answer++;
}else{
answer+=5;
if(cache.size()>=cacheSize){
cache.poll();
cache.offer(city);
}else{
cache.offer(city);
}
}
}
return answer;
}
}