kakao_캐시
Cache Size만큼 돌면서 HashMap에 채워 나간다. Hit라면 +5 하한다. Cache 가 가득 차면 하나를 줄인다.
import java.util.*; class Solution { public int solution(int cacheSize, String[] cities) { int answer = 0; LinkedHashMap<String,Boolean> hm = new LinkedHashMap<>(); if(cacheSize == 0){ return cities.length*5; } int cnt = 1; for(int i=0; i<cities.length; i++){ cities[i]=cities[i].toLowerCase(); if(hm.containsKey(cities[i])){ for(String key : hm.keySet()){ if(cities[i].equals(key)){ hm.remove(key); break; //발생이슈 : //LRU 알고리즘 : 가장 오래된 페이지를 죽이고 새로 띄운다. //이미 캐싱된 페이지도 마찬가지로 죽이고 새로 띄운다. //?? 잘못생각한 것, cnt 개수를 캐시사이즈 만큼 쓴것 //<Template, Template> } } answer+=1; //System.out.println(cities[i]); } else { if(cacheSize ==hm.size()) { for(String key : hm.keySet()){ hm.remove(key); break; } } answer+=5; } hm.put(cities[i],true); // for(String key : hm.keySet()) // System.out.print(key+" "); // System.out.println(); } //System.out.println(answer); return answer; } }
'알고리즘' 카테고리의 다른 글
kakao_합승택시요금 (0) | 2021.12.06 |
---|---|
kakao_튜플 (0) | 2021.12.06 |
백준_새로운게임2 (0) | 2021.08.13 |
프로그래머스_디스크컨트롤러 (0) | 2021.08.13 |
프로그래머스_실패율 (0) | 2021.08.13 |
댓글
이 글 공유하기
다른 글
-
kakao_합승택시요금
kakao_합승택시요금
2021.12.06 -
kakao_튜플
kakao_튜플
2021.12.06 -
백준_새로운게임2
백준_새로운게임2
2021.08.13 -
프로그래머스_디스크컨트롤러
프로그래머스_디스크컨트롤러
2021.08.13
댓글을 사용할 수 없습니다.