https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net #include // 회전하는 큐 #include typedef struct { int data; struct node* prev; struct node* next; }node; typedef struct { node* rear; node* front; int cnt; }queue; void init_queue(queue* q) { q->cnt = 0; q->rear = q->front = N..
https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net ~~ 실패 코드 ~~ #include // 듣보잡 #include char str[500000][21]; char ans[500000][21]; char check[21]; int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 0; i < n; i++) { scanf("%s", str[i]); } int cnt = 0, ans_idx = 0;..
https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net #include // 방 번호 #include char n[100001]; int main() { scanf("%s", n); int arr[10] = { 0, }; int len = strlen(n); for (int i = 0; i max) max = arr[i]; }..
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net #include // RGB거리 int min(int x, int y) { return x < y ? x : y; } int arr[1001][4]; int dp[1001][4]; int main() { int n; scanf("%d", &n); for (int i = 1; i
https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net #include // 이동하기 #define max(a, b) a > b ? a : b int arr[1001][1001] = { 0, }; int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 1; i
https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net #include // 피보나치 함수 int main() { int t; scanf("%d", &t); // 0과 1의 개수를 저장 int dp[41][2]; dp[0][0] = 1; dp[0][1] = 0; dp[1][0] = 0; dp[1][1] = 1; for (int i = 0; i < t; i++) { int n; scanf("%d", &n); for (int j = 2; j
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net #include // 요세푸스 문제 0 #include typedef struct { int data; struct node* next; }node; typedef struct { node* front; node* rear; int cnt; }queue; void init_queue(queue* q) { q->front = q->rear = NULL; q->cnt = 0; } int is_empty(queue* q) { if (q->cnt next = NULL; newnode->d..
https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net #include // 프린터 큐 #include typedef struct { struct node* next; int data; int idx; }node; typedef struct { node* rear; node* front; int count; }queue; void init_queue(queue* q) { q->front = q->rear = NULL; q->count = 0; } int ..
https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net #include // 카드2 #include typedef struct { int data; struct node* next; }node; typedef struct { node* front; node* rear; int cnt; }QUEUE; void init_QUEUE(QUEUE* q) { q->cnt = 0; q->front = q->rear = NULL; } int is_empty(QUEU..
https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net ~~ 실패 코드 ~~ #include // 탑 #include int arr[500000] = { 0, }; int main() { int n; scanf("%d", &n); int* ans = malloc(sizeof(int) * n); for (int i = 0; i < n; i++) ans[i] = 0; for (int i = 0; i < n; i++) { scanf("%d", &arr[i..