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
import java.util.*;
class Solution {
public int solution(int cacheSize, String[] cities) {
List<String> cache = new ArrayList<>();
int answer = 0;
for( int i = 0 ; i < cities.length ; i++ ){
String city = cities[i].toUpperCase();
if( cache.size() < cacheSize ) {
if( cache.indexOf( city ) != -1 ){
cache.add( cache.remove( cache.indexOf(city) ) );
answer++;
} else {
cache.add( city );
answer += 5 ;
}
} else {
if( cache.indexOf( city ) != -1 ){
cache.add( cache.remove( cache.indexOf(city) ) );
answer++;
} else {
cache.add( city );
cache.remove(0);
answer += 5 ;
}
}
}
return answer;
}
}'코딩 테스트 공부 > 프로그래머스' 카테고리의 다른 글
| [ 프로그래머스 ] 평행 (2) | 2022.10.18 |
|---|---|
| [ JAVA ] 프로그래머스 - 메뉴 리뉴얼 (0) | 2022.06.28 |
| [ JAVA ] 프로그래머스 - 2 x n 타일링 (0) | 2022.06.23 |
| [ JAVA ] 프로그래머스 - 모음사전 (0) | 2022.06.21 |
| [ JAVA ] 프로그래머스 - 2개 이하로 다른 비트 (0) | 2022.06.17 |