Data is ___ ?

https://school.programmers.co.kr/learn/courses/30/lessons/17680

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

1. 문제설명

  • DB 캐시를 적용할 때 캐시 크기에 따른 실행 시간 측정 프로그램 작성
  • LRU(Least Recently Used) 방법 사용

 

 

2. 문제해결

  • 현재 값이 캐시 리스트 안에 있으면
    • 현재 값 제거 후 맨 끝에 append, 실행시간+1
  • 현재 값이 캐시 리스트 안에 없으면
    • 꽉 찾으면 : popleft, append, 실행시간 + 5
    • 비었으면 : append, 실행시간 + 5
<python />
def solution(cacheSize, cities): from collections import deque answer = 0 cache_list = deque() if cacheSize == 0: return 5 * len(cities) for city in cities: city = city.lower() if city in cache_list: cache_list.remove(city) cache_list.append(city) answer += 1 else: if len(cache_list) < cacheSize: cache_list.append(city) else: cache_list.popleft() cache_list.append(city) answer += 5 return answer

'Programming > CodingTest' 카테고리의 다른 글

[Leetcode 1091] Shortest Path in Binary Matrix  (0) 2025.02.11
[Leetcode 200] Number of Islands  (0) 2025.02.11
[LeetCode 1] Two Sum  (0) 2025.02.09
[프로그래머스] 행렬과 연산  (0) 2025.02.08
[프로그래머스] 양과 늑대  (0) 2025.02.07
profile

Data is ___ ?

@콩순이컴퓨터

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!