본문 바로가기
Algorithm/프로그래머스

[Algorithm / Programmers] 2018 KAKAO BLIND RECRUITMENT-[1차] 캐시

by newtownboy 2024. 4. 7.


[Version]
⦁ 2024.04.07 / [Algorithm / Programmers] 2018 KAKAO BLIND RECRUITMENT-[1차] 캐시

 

import java.util.*;

class Solution {
    public int solution(int cacheSize, String[] cities) {
        if (cacheSize == 0) {
            return cities.length * 5;
        }

        LinkedList<String> cache = new LinkedList<>();
        int answer = 0;

        for (String city : cities) {
            String lowerCaseCity = city.toLowerCase();
            if (cache.contains(lowerCaseCity)) {
                answer += 1;
                cache.remove(lowerCaseCity);
            } else {
                answer += 5;
                if (cache.size() >= cacheSize) {
                    cache.removeFirst();
                }
            }
            cache.add(lowerCaseCity);
        }

        return answer;
    }
}