Search

캐시

알고리즘
연습문제
플랫폼
프로그래머스
JCF
ArrayList
상태
해결
생성 일시
2023/12/19 06:21
최종 편집 일시
2023/12/19 09:27

문제 설명

해결과정

Solution.java

import java.util.*; class Solution { public int solution(int cacheSize, String[] cities) { int answer = 0; String str = ""; LinkedList<String> cache = new LinkedList<>(); if(cacheSize == 0) { answer = cities.length * 5; } else { for(String city : cities) { // 도시 이름을 전부 소문자로 변경 중복 방지 str = city.toLowerCase(); // cacheSize 만큼 데이터가 없다면 cache에 도시 추가 answer += 5 if(cache.size() < cacheSize) { if(cache.indexOf(str) != -1) { cache.remove(str); cache.add(str); answer += 1; } else { cache.add(str); answer += 5; } } else { // 캐시에 도시가 존재 유무 if(cache.indexOf(str) != -1) { cache.remove(str); cache.add(str); answer += 1; } else { cache.remove(); cache.add(str); answer += 5; } } } } return answer; } }
Java
복사