코딩테스트

[프로그래머스/자바] 캐시_17680

라임온조 2023. 8. 8. 18:00

문제 및 코드

1. 생각

// 생각
    // 도시이름을 돌면서 캐시에 있는지 없는지, 자리 있는지 등 확인한 후 하나 거칠 때 마다 상황에 맞게 실행시간 더하기
    // 캐시를 만들어야 하는데 큐를 이용해서 만들 수 있다
// 구현
    // 큐 만들기
    // 도시이름 돌기
        // 만약 큐에 해당 도시가 없으면서 캐시크기 안 넘쳤다
            // map에 해당 도시 넣고 횟수 1로 만들기
            // 정답 5 더하기
        // 큐에 해당 도시가 없으면서 캐시크기 넘쳤다
            // 최근에 가장 적게 사용된 거 하나 빼고 해당 도시를 넣는다
            // 정답 5 더하기
        // 큐에 해당 도시가 있다
            // 정답 1 더하기

2. 회고

  • 엄청 어렵지는 않았는데 뭐에 홀렸는지 왜 큐라는 생각이 바로 안 들었지..? 막 우선순위큐 해야 하는 거 아니야? 이러다가 놓쳤네

3. 기억

  • LRU
    • 가장 예전에 사용된 걸 먼저 삭제하기
  • 큐에서 remove 메서드에 특정 값을 넣어주면 그 값을 삭제할 수 있다

4. 체크

풀이 횟수 시간 정답 여부 참고 여부
1 1시간 20분 X O