목록전체보기 (227)
득이공간
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 1장. 소프트웨어 공학과 개발 프로세스 1-1. 소프트웨어 1-2. 소프트웨어 공학 1-3. 소프트웨어 개발 프로세스 1-4. 소프트웨어 개발 생명주기 모델 📌 1-1. 소프트웨어 * 소프트웨어 - 컴퓨터를 비롯한 시스템에서 특정 작업을 수행하게 하는 프로그램의 집합 * 소프트웨어 특징 - 비제조성 - 소모되지 않는 소프트웨어 - 사용자의 요구에 따라 새롭게 생산됨 - 변경성 (Changeability) - 복제 가능 (Duplicability) * HW vs SW - HW 제조: 결과물의 차이가 크지 않다. - SW 개발: 개인 능력에 따라 결과물의 차이가 크다. - HW 부품: 오래..
해당 게시물은 조진성 교수님의 '운영체제' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 4장. I/O Device 관리 4-1. Mass-Storage Structure 4-2. I/O Systems 4-3. File System Interface 4-4. FIle System Implementation 4-5. File System Internals 📌 4-1. Mass-Storage Structure * Mass-Storage (secondary storage) - computer I/O 장치 중에 제일 중요한 장치다. - HDD (Hard Disk Drive) : - SSD (Solid State Disk) - RAM disk : 전원을 껐다가 키면 데이터가 다 날라간다...
해당 게시물은 조진성 교수님의 '운영체제' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 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..