본문 바로가기

Dev/[Algorithm]

[Algorithm] LRU(Least Recently Used) 알고리즘 INTRO 페이지 교체 알고리즘에는 다양한 알고리즘이 있다. FIFO, LFU, Count-Base ... 이 중 LRU 알고리즘에 대해 소개한다. 1. LRU 알고리즘이란? ◆ 가장 오랜 시간 사용되지 않은 페이지를 교체하는 운영체제의 페이지 교체 정책 알고리즘이다. ◆ 주로 캐시에서 메모리를 다루기 위해 사용된다. ◆ 캐시는 크게 보면 웹 서비스부터, 작게는 CPU가 RAM이나 Disk에 접근할 때.. 등 광범위하게 사용됨. ◆ 이러한 캐시들은 자원이 한정되어있으며, 한정된 자원 내에서 빠르게 데이터 접근이 가능해야 한다. ◆ 따라서 어떤 데이터를 남기고, 어떤 데이터를 지울지에 대한 알고리즘이 필요. ◆ 여기서 오래 참조되지 않은 데이터는 내보내는 '시간(temporal) 지역성'의 성질을 가지는 .. 더보기
[Algorithm] [C++] 백준 1436번 영화감독 숌 백준 온라인 저지의 1436번 문제입니다. 문제 분류는 [브루트 포스]로 분류되어 있습니다. 문제 링크 :www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이.. 더보기
[Algorithm] [C++] 백준 15649번 N과M(1) - 백준 온라인 저지의 15649번 문제입니다. - 문제 분류는 [백트래킹]으로 분류되어 있습니다. - 문제 링크 : www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net - 백트래킹 분류의 문제를 처음 업로드하므로, 백트래킹에 대한 개념을 잠깐 언급하겠습니다. - 구글에 백트래킹이라는 단어를 검색하면, 1950년대 어떤 수학자가 고안해낸 '전략'이라고 합니다. - 하지만 우리에겐 이런건 별로 도움이 되지 않습니다. - 간단하게 생각하면, DFS(깊이우선탐색) .. 더보기
[Algorithm] [C++] 백준 10171번 고양이 백준 온라인 저지의 10171번 문제입니다. 문제 분류는 [구현]으로 분류되어 있습니다. 문제 링크 : www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 풀이 : - 설명이 많이 필요 없는 문제입니다. - 다만 출력 시, \ 를 출력하는 방법, " 를 출력하는 방법 등 특수한 경우를 고민해 볼 필요가 있습니다. #include using namespace std; int main(void){ cout 더보기
[Algorithm] [C++] 백준 2798번 블랙잭 백준 온라인 저지의 10989번 문제입니다. 문제 분류는 [브루트 포스]로 분류되어 있습니다. 문제 링크 : www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는다. 합이 M을 넘지 않는 카드 3장을 찾을 수 있 www.acmicpc.net 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영.. 더보기
[Algorithm] [C++] 백준 10989번 수 정렬하기 3 백준 온라인 저지의 10989번 문제입니다. 문제 분류는 [정렬]로 분류되어 있습니다. 문제 링크 : https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 : N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 : 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 : 첫째 줄부터 N개의 줄에 오름차순으로 정렬한.. 더보기
[Algorithm] [C++] 부채꼴 범위 안의 적 판별하기 해당 문제는 최근 한 기업의 입사 코딩테스트에서 나왔던 문제입니다. 유명한 온라인 게임 리그오브레전드의 '애쉬' 챔피언이 스킬을 사용하는 그림이 이 문제의 설명을 돕는 이미지로 출제 되었습니다. 게임을 해보지 않은 분들도 위 이미지를 보시면 쉽게 이해가 되실 겁니다. 문제 내용을 복원하여 보겠습니다. (기억에 의존하므로 정확하지 않을 수 있습니다.) 문제 : 한 게임의 캐릭터가 스킬을 사용합니다. 해당 캐릭터가 스킬을 사용할 때. 스킬은 부채꼴 범위로 퍼지면서 나갑니다. 해당 부채꼴 범위 안에 적이 있다면, 적은 데미지를 받지만, 범위 밖이라면 데미지를 받지 않습니다. 데미지를 받는 적의 수를 Return하세요. 조건1 : 스킬을 사용하는 주체인 게임 캐릭터는 항상 0,0 위치에 있습니다. 조건2 : 적.. 더보기
[Algorithm] [C++] 백준 1011번 Fly me to the Alpha Centauri 백준 온라인 저지의 1011번 문제입니다. 분류는 수학1로 분류되어있고 해당 단계의 마지막 문제입니다. 문제 링크 : https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 ww.. 더보기

반응형