[프로그래머스/자바] [1차] 캐시

Wuchang·2023년 3월 24일
0

코딩테스트

목록 보기
9/13

문제설명

조건 및 입출력 예제

풀이

import java.util.LinkedList;
import java.util.Queue;

class Solution {
    public int solution(int cacheSize, String[] cities) {
        int answer = 0;
        Queue<String> queue = new LinkedList<>();

        if (cacheSize == 0) {
            return cities.length * 5;
        }

        for (int i = 0; i < cities.length; i++) {
            if (queue.contains(cities[i].toLowerCase())) {
                queue.remove(cities[i].toLowerCase());
                queue.add(cities[i].toLowerCase());
                answer += 1;
            } else {
                if (queue.size() < cacheSize) {
                    queue.add(cities[i].toLowerCase());
                    answer += 5;
                } else {
                    queue.poll();
                    queue.add(cities[i].toLowerCase());
                    answer += 5;
                }
            }
        }
        return answer;
    }
}
profile
우창의 개발일지🐈

0개의 댓글