잘 정리해보자
2018 카카오 블라인드 - 캐시 본문
LRU(Least Recently Used) Cache 알고리즘
: 가장 오래된 페이지부터 삭제
데이터 베이스의 메모리 관리의 가장 중요한 원리
python
memory = []; total = 0
lowArr = list(map(lambda x : x.lower(),arr))
for i in lowArr :
if i in memory :
total += 1
memory.remove(i) #메모리에 데이터가 있으면 삭제
else :
total += 5
memory.append(i) #새로운 데이터 추가
if len(memory) >= size : #주어진 메모리크기보다 크면 옛날데이터 삭제
del(memory[0])
return total
cacheProcess(['Jeju', 'Pangyo', 'Seoul', 'NewYork', 'LA', 'Jeju', 'Pangyo','Seoul', 'NewYork', 'LA'],3)
//실행결과 : 50
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 스택/큐 - 기능개발 (0) | 2021.09.07 |
---|---|
python - 스택 중위표기법을 후위표기법으로 구현 (0) | 2021.09.07 |
2018 카카오 블라인드 - 비밀지도 (0) | 2021.04.14 |
2018 카카오 블라인드 - 프렌즈4블록 (0) | 2021.04.13 |
2018 카카오 블라인드 - 다트 (0) | 2021.04.13 |
Comments