본문 바로가기

알고리즘 문제

카카오 1차 3번 파이썬 Python

#캐시 크기만큼 큐 만들고, 새로 들어오면 5, 이미 있다면 1, 새로 들어오거나 이미 있는거면 맨 뒤로, 안쓰이면 맨 앞 삭제 del arr[0]
arr1 = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "Jeju", "Pangyo", "Seoul", "NewYork", "LA"]
arr2 = ["Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul"]
arr3 = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco", "Seoul", "Rome", "Paris", "Jeju", "NewYork", "Rome"]
arr4 = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco", "Seoul", "Rome", "Paris", "Jeju", "NewYork", "Rome"]
arr5 = ["Jeju", "Pangyo", "NewYork", "newyork"]
arr6 = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA"]
cacheSize1=3
cacheSize2=3
cacheSize3=2
cacheSize4=5
cacheSize5=2
cacheSize6=0
def calc(arr,cacheSize):
buffer = []
runTime = 0
for i in arr:
i=i.upper()
if cacheSize==0:
runTime=len(arr6)*5
elif len(buffer)<=cacheSize:
if i in buffer:
runTime+=1
elif i not in buffer:
runTime+=5
if len(buffer)==cacheSize:
del buffer[0]
buffer.append(i)
print(runTime)
calc(arr1,cacheSize1)
calc(arr2,cacheSize2)
calc(arr3,cacheSize3)
calc(arr4,cacheSize4)
calc(arr5,cacheSize5)
calc(arr6,cacheSize6)