ji-0630 / CodingTest

코딩테스트 연습 기록
0 stars 0 forks source link

[1차] 캐시 #274

Closed ji-0630 closed 1 year ago

ji-0630 commented 1 year ago

문제 설명

image

ji-0630 commented 1 year ago

나의 풀이

def solution(cacheSize, cities):
    answer = 0
    cities = list(map(lambda x: x.lower(), cities))

    if cacheSize == 0:
        return 5 * len(cities)

    cache = [0] * cacheSize

    for i in cities:
        if i in cache:
            cache.remove(i)
            answer += 1      
        else:
            del cache[0]
            answer += 5

        cache.append(i)

    return answer
ji-0630 commented 1 year ago

다른 사람의 풀이

def solution(cacheSize, cities):
    import collections
    cache = collections.deque(maxlen=cacheSize)
    time = 0
    for i in cities:
        s = i.lower()
        if s in cache:
            cache.remove(s)
            cache.append(s)
            time += 1
        else:
            cache.append(s)
            time += 5
    return time