삽입정렬 2

Least Recently Used(LRU) 카카오 캐시 문제 변형

캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업 을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LRU 알고리즘을 따 른다. LRU 알고리즘은 Least Recently Used 의 약자로 직역하자면 가장 최근에 사용되지 않 은 것 정도의 의미를 가지고 있습니다. 캐시에서 작업을 제거할 때 가장 오랫동안 사용하지 않은 것을 제거하겠다는 알고리즘입니다. 만약 캐시의 사이즈가 5이고 작업이 순으로 저장되어 있다면, (맨 앞이 가장 최근에 쓰인 작업이고, 맨 뒤는 가장 오랫동안 쓰이지 않은 작업이다.) Cache Miss : 해야할 작업이 캐시에 없는 ..

알고리즘 2023.01.10

삽입정렬

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 삽입정렬입니다. 입력예제 11 7 5 6 10 9 출력예제 5 6 7 9 10 11 풀이 function solution(arr){ // 배열 얕은복사로 인해 arr가 바뀌면 answer도 바뀜 let answer=arr; // arr 요소와 arr요소의 나머지 요소를 비교를 위해 이중 for문 for(let i=0; i=0; j--){ //arr[j] (arr[i-1]) 가 tmp (arr[i]) 보다 크면 arr[j+1] 인덱스에 arr[j]를 저장한다. if(arr[j]>tmp) arr[j+1]=arr[j]; //for문을 다돌아서 만약 arr[j]가 tmp보다 작다면 for문을 탈출한다. else brea..

알고리즘 2022.12.22