목록전체 글 (68)
Doodly IT
문자열에서 숫자의 갯수를 세는 코드 #include using namespace std; int main() { char str[100] = { '\0' }; int i = 0; int count = 0; cin >> str; while (str[i] != '\0') { if (str[i] 122) { count++; } i++; if (i > 99) break; } printf("%d", count); return 0; }
주민등록증을 기반으로 나이와 성별을 출력하는 문제이다. #include #include using namespace std; int main() { string gender; int year; string jumin; cin >> jumin; string birth=jumin.substr(0, 2); if ((jumin[7] == '1') || (jumin[7] == '2')) { year = stoi("19" + birth); gender = jumin[7] == 1 ? "M" : "W"; } else { year = stoi("20" + birth); gender = jumin[7] == 3 ? "M" : "W"; } int age = 2019 - year + 1; cout
CPU 스케쥴링 개요 1. CPU 스케쥴링 (CPU Scheduling): 운영체제가 프로세스들에게 CPU자원을 공정하고 합리적으로 배분하는 것 2. 프로세스마다 우선순위가 존재한다. 입출력 집중 프로세스(I/O Bound Process): 비디오 재생이나 디스크 백업작업을 담당하는 프로세스 CPU 집중 프로세스(CPU Bound Process): 복잡한 수학 연산, 컴파일, 그래픽 처리 작업을 담당하는 프로세스 CPU Burst: CPU를 이용하는 작업 I/O Burst: I/O를 이용하는 작업 3. 스케쥴링 큐: CPU는 PCB에서 일일히 프로세스를 찾는 것은 비효율적이다. 프로세스를 큐에 넣어서 미리 대기시키도록 하는데 이를 스케쥴링 큐라고 한다. 이 때, 프로세스의 작업에 따라 별도의 큐에 적재한..
1. 프로세스 프로세스: 실행중인 프로그램 포그라운드 프로세스(Foreground Process): 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로세스(Background Process): 사용자가 보지 못하는 곳에서 실행되는 프로세스 - Daemon: 유닉스 체계에서의 백그라운드 프로세스 - Service: 윈도우 체계에서의 백그라운드 프로세스 프로세스 제어 블록(PCB: Process Control Block) : 프로세스가 실행되는 순서를 관리하기 위한 블록, 커널영역에서 생성된다. 프로세스 제어 블록에 담기는 내용은 아래와 같다. 1 ) 프로세서 ID (PID: Procedd ID): 특정 프로세스를 식별하기 위한 고유번호 2) 레지스터: 프로세스가 실행되면서 사용했던 레지스터의 내용, P..
보통은 재귀로 푼다고 하는데 내 코딩스타일은 재귀는 잘 안쓰게 된다. (그걸 머릿속에서 어떻게 다 계산을 하지,,?) 아무튼 간단하게 스택2개로 서로 넣고 빼는 걸 반복하면서 진행이 된다. 백준에는 PrintArr()과 checkArr()을 없앴다. 코딩하면서 필요했던거라 결론적으로는 제출할때 필요없다. #include #include #include #include #include #include using namespace std; struct Point { int t_col; int t_row; }; int col = 0; int row = 0; vector value_0; vector value_1; vector value_2; vector max_save; void PrintArr(int** a..
이 문제 푸는데 하루종일 걸렸다. 일단 이렇게 오래 걸린 이유에는 문제에 설명이 아주 대충 써있기 때문이다. 중요한 부분이 빠져있는데, 노드와 간선간에서 방향이 없을때는 간선에 연결되지 않은 노드는 모두 각각이 하나의 연결요소라 판단이 된다. 먼저 예제의 그래프를 보면, 6 5 1 2 2 5 5 1 3 4 4 6 이때 연결되는 요소들의 갯수는 2개가 된다. (2개의 묶음으로 묶여져 있으니까) 그래서 출력은 2가 나와야한다. 두번째 예제를 보면, 6 8 1 2 2 5 5 1 3 4 4 6 5 4 2 4 2 3 이때 한 묶음으로 묶여있기 때문에 연결요소는 한개가 된다. 여기에 한가지 예제가 더 있다. 3 1 1 2 위와 같이 생긴 그래프에 대해서는 각연결되지 않은 노드에 대해서도 연결요소라 취급하기 때문에 ..