백준 4542번 C++ 풀이 - Blue Jeans
문제 링크 4542번 문제 설명 문제는 LCS를 구하되, 이것이 여러 문자열에서 역시 반복적으로 등장하냐는 질문이다. 해결책 DP를 이용해서 Common Substring들을 구하고, 이들을 unorderedmap으로 중복 제거한 상태로 길이 및 알파벳 순으로 정렬한다. 이 때, Common Substring의 길이는 최소 3 이상이며, 이것이...
문제 링크 4542번 문제 설명 문제는 LCS를 구하되, 이것이 여러 문자열에서 역시 반복적으로 등장하냐는 질문이다. 해결책 DP를 이용해서 Common Substring들을 구하고, 이들을 unorderedmap으로 중복 제거한 상태로 길이 및 알파벳 순으로 정렬한다. 이 때, Common Substring의 길이는 최소 3 이상이며, 이것이...
PintOS 서론 PintOS 중 우리는 카이스트에서 개발한 운영체제를 직접 만들어본다. 이는 주차들로 나뉘어 각각의 프로젝트를 만들게 된다. Project 1 - 서론 Project 1에서는 Base kernel의 Source Code를 제작하게 된다. 이는 threads directory에 있다. 또한, I/O device interfac...
서론 사실 제작기 라는 이름을 적어두었지만… 실제로는 후기에 더 가깝다. 일단은 먼저, PintOS의 대한 깃북의 한국어 번역본(손번역, 매우구림)이 필요하다면 여기로… 1. Argument Passing 인자를 파싱하고, 파싱한 인자들을 전달하는 과정을 제작해야한다. void _start (int argc, char *argv[]) { ...
PintOS 서론 PintOS 중 우리는 카이스트에서 개발한 운영체제를 직접 만들어본다. 이는 주차들로 나뉘어 각각의 프로젝트를 만들게 된다. Project 1 - 서론 Project 1에서는 Base kernel의 Source Code를 제작하게 된다. 이는 threads directory에 있다. 또한, I/O device interfac...
PintOS 서론 PintOS 중 우리는 카이스트에서 개발한 운영체제를 직접 만들어본다. 이는 주차들로 나뉘어 각각의 프로젝트를 만들게 된다. Project 1 - 서론 Project 1에서는 Base kernel의 Source Code를 제작하게 된다. 이는 threads directory에 있다. 또한, I/O device interfac...
서론 - 테스트 본격적으로 proxy 서버 제작 과정에 들어가기에 앞서, 다음과 같은 공부과정을 진행하고자 한다. CSAPP 11장 학습 웹 서버의 대한 학습 HTTP 프로토콜의 이해 소켓 및 소켓을 이용한 통신(클라이언트/서버) 제작 클라이언트의 request를 받고, response를 내어주는 웹 서버 제작 proxy 서...
정의
정의 페이징 기법(Paging)이란, 메인 메모리에서 보조 기억 장치로부터 데이터를 저장하고 검색하는 메모리 관리 기법이다. 가상 메모리를 특정 단위(일반적으로 윈도우에서는 4KB)를 기준으로 모두 같은 크기의 페이지(블럭)로 나누어 운용하는 방식을 뜻한다. 물리 메모리의 경우에는 페이지 크기와 같은 프레임으로 나누어 사용한다. 일반적으로 페이...
정의 동적 메모리 할당기(Dynamic Memory Allocator)는 힙(heap) 이라고 하는 프로세스의 가상 메모리 영역을 관리한다. 메모리 구조를 참고하면 도움이 될 것이다. 일단, 현재 정글에서 요구하는 순서에 맞추어 진행을 해보고자 하겠다. 가용 리스트 조작을 위한 기본 상수와 매크로 동적 메모리 할당을 통해 힙 영역에 뭔가를 저장하고...
정의 레드블랙 트리는 여러가지 이진 균형 트리중에서도, 가장 범용적으로 많이 사용하는 트리이다. 레드 블랙 트리같은 경우, 가장 흔하게 볼 수 있는 곳은 C++에서 존재하는 stl 라이브러리의 map 구조체이다. 레드 블랙 트리는 다음과 같은 몇가지 조건에 맞추어 작동된다.