๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Problem Solving/PROGRAMMERS

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

by DevIseo 2022. 8. 31.

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

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

def solution(cacheSize, cities):
    answer = 0
    miss,hit=0,0
    cache = []
    
    for city in cities:
        #๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜
        city=city.upper()
        
        #cacheSize๊ฐ€ 0์ด ์•„๋‹ ๋•Œ
        if cacheSize != 0:
            #cache์— city๊ฐ€ ์กด์žฌ ํ•˜์ง€ ์•Š์„๋•Œ
            #cache miss +1
            if not city in cache:
                #cacheSize๊ฐ€ cache๋ณด๋‹ค ํฌ๋‹ค๋ฉด
                if len(cache) < cacheSize:
                    cache.append(city)
                    
                #cacheSize๊ฐ€ cache๋ณด๋‹ค ์ž‘๋‹ค๋ฉด
                else:
                    cache.pop(0)
                    cache.append(city)
                miss+=1
            
            #city๊ฐ€ cache์— ์กด์žฌํ•  ๋•Œ
            #hit +1
            else:
                cache.pop(cache.index(city))
                cache.append(city)
                hit+=1
                
        #cacheSize๊ฐ€ 0์ผ ๋•Œ
        else:
            miss+=1
    
    #์ตœ์ข… ๋‹ต
    answer=hit+(miss*5)
    return answer

๋Œ“๊ธ€