목록2024/04/10 (2)
풀이 보관함
LRU 알고리즘이 어디에 쓰이는 무엇인지 그리고 어떻게 구현하는지 개괄 정리해보겠습니다. background 운영체제라는 강의나 관련 서적을 읽었으면 절대 빠지지 않고 나오는 이 알고리즘은 자주 나오는 만큼 중요한 알고리즘이다. 어떤 공간에 여러 요소들이 꽉 차있다고 생각해보자. 근데 더 이상 자리가 없는데 그 공간에 새로운 것을 넣어야 한다면? 공간을 차지하는 무엇인가를 빼서 자리를 만든 후 넣어야 되지 않겠어요? 한정된 공간에 빼야할 요소를 정하는 알고리즘을 replace algorithm이라고 하며, 컴퓨터에서는 한정된 공간이 {메모리, 캐시, 저장공간}이 되며 요소들이 {스레드, 프로세스, 자원}이 될 수 있다. 운영체제에서는 저 한정된 공간을 알뜰하게 쓰는게 바로 효율성이기 때문에 굉장히 이 r..
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제는 별 것 없다.. 문자열 중 가장 많이 포함된 문자 하나를 출력하면 된다. 일단 내 코드는 40ms.. 최적화? 그런거 신경 안 쓰고 쉬운 문제는 쉽게 푸는게 답이라고 생각하는 사람이라 넘겼다.. 그런데 채점 현황에서 c++17로 12ms대로 풀어버린 것을 봤다. 참을 수 없었다.. 그래서 리팩토링을 했지만 오히려 4ms나 더 늘어버려서 글을 남긴다. 왤까... 정말 왤까?.... 40ms 코드 - 이 함수는 들어오는 문자열..