[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] LV.2 [1์ฐจ] ์บ์‹œ

 

1. ๋ฌธ์ œ : Link

LRU๋ฐฉ์‹์œผ๋กœ ์บ์‰ฌ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฌธ์ œ

 

2. ํ’€์ด

์ด ๋ฌธ์ œ์—์„œ ํ™•์ธํ•ด์•ผ๋˜๋Š” ๋ถ€๋ถ„์€

1) ์บ์‰ฌ์— ํ•ด๋‹น city๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋Š”๊ฐ€

2) cache์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ 3์„ ๋„˜๋Š”๊ฐ€

 

๋‘ ๊ฐ€์ง€๋งŒ ์ฒดํฌํ•˜๋ฉด ๊ฐ€๋ณ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ

 

3. ์ฝ”๋“œ

def solution(cacheSize, cities):
    answer = 0
    cache = []
    if cacheSize == 0:
        return len(cities) * 5
    for city in cities:
        city = city.lower()
        if city in cache:
            cache.remove(city)
            cache.append(city)
            answer += 1
            continue
        if len(cache) == cacheSize:
            cache.pop(0)
        cache.append(city)
        answer += 5
    return answer

 

  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ