목록전체 글 (601)
sm 기술 블로그
캐시 교체 알고리즘 LRU : 캐시에서 메모리를 다루기 위해 사용되는 알고리즘으로 새로운 정보가 들어왔을 때 사용한지 가장 오래된 데이터를 제거하고 새로운 데이터를 삽입한다. 용어 1) Cache Hit CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있을 경우, Cache Hit이라고 한다. 2) Cache Hit CPU가 참조하고자 하는 메모리가 캐시에 존재하지 않을 떄는 Cache Miss라고 함.
def solution(cacheSize, cities): answer = 0 cache = [] for city in cities : city = city.lower() # Miss if city not in cache: if cacheSize != 0: if len(cache) < cacheSize: cache.append(city) else: cache.pop(0) cache.append(city) answer += 5 # Hit! else: cache.pop(cache.index(city)) cache.append(city) answer += 1 return answer 문제요약 LRU(캐시교체 알고리즘) 을 사용하여 실행시간을 구하라. 설명 캐시교체 알고리즘은 아래를 참고하자. https://s..
def solution(id_list, report, k): answer = list(0 for _ in range(len(id_list))) declaration = dict() report = list(set(report)) for i in report: victim, perpetrator = i.split(" ") try: declaration[perpetrator] += [i] except: declaration[perpetrator] = [i] for j in declaration: if len(declaration[j]) >= k: for z in declaration[j]: victim, perpetrator = z.split(" ") answer[id_list.index(victim)] +..
num = [0,3,2,1,0,1,2,3] name = [["R","T"], ["C","F"], ["J","M"], ["A","N"]] score = [[0,0],[0,0],[0,0],[0,0]] def sumScoreA(x, choice): if(choice < 4) : score[x][0] += num[choice] else : score[x][1] += num[choice] def sumScoreB(x, choice): if(choice < 4) : score[x][1] += num[choice] else : score[x][0] += num[choice] def indicator(x, s, choice): if(s == "RT" or s == "CF" or s == "JM" or s == "AN"..