본문 바로가기

알고리즘

[programmers] 캐시


로직

  • 도시 이름은 대,소문자를 가리지 않기 때문에 대문자 혹은 소문자로 통일해준다.

  • LRU(Least Recently Used) 알고리즘 : 캐시의 사이즈는 한정 되어있기 때문에 캐시 사이즈가 꽉 찬 상태에서 새로운 캐시를 넣으려면 기존 캐시에 있던 데이터를 교체해야하는 데, 가장 오래전에 사용한 것을 제거하는 알고리즘

  • 새로운 도시를 넣으면 +5이고, 만약 cacheSize가 찼다면, 가장 오래된 것을 빼내고 새로운 도시를 넣는다. cacheSize가 아직 다 차지 않았다면, 그냥 새로운 도시 넣기

  • 기존에 있는 도시를 넣기 위해서는 +1하고, city의 index가 일치하는 값을 지운다.(기존에 있던도시 값을 빼내고 그 도시를 다시 넣는다)

 

코드

 

'알고리즘' 카테고리의 다른 글

[programmers] N진수 게임  (0) 2020.09.10
[programmers] 섬 연결하기  (0) 2020.09.10
[programmers] 프렌즈4블록  (0) 2020.09.08
[programmers] 폰켓몬  (0) 2020.09.08
[programmers] 타겟넘버  (0) 2020.09.08