본문 바로가기

코딩테스트

[프로그래머스(Programmers)/Level2](Python) 캐시

 

 

<내 코드>

<풀이과정>
입력받은 문자열들을 소문자로 바꿔 리스트에 저장하고,입력받은 리스트를 순회하면서 해당 원소가 만약 cachesize가 cache의 원소 갯수보다 크고 해당 원소가 cache에 없으면 miss이므로 answer에 miss를 더해주고 단순히 cache에 원소를 추가해준다.

캐시 크기가 cachesize와 같고 원소가 cache안에 없으면 제일 앞의 원소를 제거하고 해당원소를 삽입한다.(캐시 안에 해당 원소가 있을때는,해당 원소를 캐시 맨 뒤로 빼줌으로서 리스트 맨 앞의 원소는 참조된지 가장 오랜 원소이기 때문에 이와 같은 연산을 해준다.)

 

<느낀점>

기본적인 알고리즘은 공부해둬야 할것 같다는 생각을 하였다.