목록2024/02 (147)
득이공간

해당 게시물은 조진성 교수님의 '운영체제' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 3장. Memory 관리 3-1. Main Memory 3-2. Virtual Memory 📌 3-1. Main Memory * Memory Management - To provide a convenient abstraction for programming - To allocate scarce memory resources among competing processes to maximaize performance with minimal overhead - To provide isolation between processes * Memory Management Keypoints 1. 프로세스 ..

10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net #include using namespace std; int Num[2000]; bool DP[2000][2000]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N; cin >> N; for (int i = 0; i > Num[i]; } for (int i = 0; i < N; ++i) { DP[i][i] = true; if (i < N - 1) { DP[i][i + ..

9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net #include #include using namespace std; int DP[1001][1001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); string A, B; cin >> A >> B; int N = A.size(); int M = B.size(); for (int i = 1; i 0) { if (DP[i][j] =..

2239번: 스도쿠 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다 www.acmicpc.net #include #include #include using namespace std; const int MaxSize = 9; bool bFound; int Solution[MaxSize][MaxSize]; int Board[MaxSize][MaxSize]; bool CheckRow[MaxSize][MaxSize + 1]; bool CheckCol[MaxSize][MaxSize + 1]; bool CheckArea[MaxSize][MaxSize + 1]; ..

1806번: 부분합 첫째 줄에 N (10 ≤ N > Num; Sum[1] = Num; for (int i = 2; i > Num; Sum[i] = Sum[i - 1] + Num; } } int GetLength(int N, int S) { int Min = 100000; int Left = 1; int Right = 1; while (Le..

1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net #include #include #include #include using namespace std; vector Edges; int RootNode[100000]; int Find(int Node) { if (Node == RootNode[Node]) { return Node; } return RootNode[Node] = Find(RootNode[Node]); } void Union(int NodeA, int NodeB)..

27172번: 수 나누기 게임 《보드게임컵》을 준비하다 지친 은하는 보드게임컵 참가자들을 경기장에 몰아넣고 결투를 시키는 게임 《수 나누기 게임》을 만들었습니다. 《수 나누기 게임》의 규칙은 다음과 같습니다. www.acmicpc.net #include #include using namespace std; int Players[1000001]; vector Cards; vector Scores; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); for (int i = 1; i > N; Cards.reserve(N); Scores.reserve(N); for (int i = 0; i < N; ++i) { int Card; ci..

2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net #include using namespace std; int Solution[100000]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 0; i > Solution[i]; } int ResultSum = 2000000000; int ResultLeft = 0; int ResultRight..

2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net #include using namespace std; typedef pair Vec2; Vec2 Vertex[10000]; double GetTriangle(const Vec2& A, const Vec2& B, const Vec2& C) { Vec2 AB = Vec2(B.first - A.first, B.second - A.second); Vec2 AC = Vec2(C.first - A.first, C.second - A.second); return (AB.first * AC.second..

18115번: 카드 놓기 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다. www.acmicpc.net #include #include using namespace std; deque Skills; deque InitialCards; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 1; i > Skill; Skills.push_back(Skill); } for (int Card = 1; Card