Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- CodeEngn Basic 5
- bob
- h4ckinggame
- Best of the Best
- 사회적 사실
- 코드엔진
- malware
- 에밀 뒤르켐
- 디지털 포렌식 트랙
- codeengn basic rce 01
- 사회분업론
- CodeEngn Basic 01
- 철학
- 자살론
- BoB 12기
- CodeEngn
- 코드엔진 basic 5
- 리버싱
- 코드엔진 베이직
- 논문리뷰
- BoB 12기 최종합격 후기
Archives
- Today
- Total
woonadz :)
[백준/C언어] 큐_10845번_nabi 본문
반응형
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int front = 0, rear = 0; //front와 rear을 상수로 지정했다
int que[10000]; //명령어를 최대 10000개까지 입력가능하기 때문에
void push(int num);
void pop(int arr);
int main() {
int n=0, tmp=0; //n은 반복 횟수, tmp는 push로 큐에 집어넣은 숫자
char order[6]; //명령어가 최대 5글자이므로 6칸짜리 배열 선언
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", order);
if (strcmp(order, "push") == 0) { //strcmp 함수를 통해 push와 입력받은 문제열이 같은지 확인
scanf("%d", &tmp); //큐에 집어넣은 숫자 입력받기
push(tmp);
}
else if (strcmp(order, "pop") == 0) { //strcmp 함수를 통해 pop와 입력받은 문제열이 같은지 확인
int k;
if (front == rear) //front와 rear 값이 같은 경우 큐가 비어있음
printf("-1\n");
else {
front++;
k = que[front];
que[front] = 0;
printf("%d\n", k);
}
}
else if (strcmp(order, "size") == 0) { //strcmp 함수를 통해 size와 입력받은 문제열이 같은지 확인
printf("%d\n", rear - front);
}
else if (strcmp(order, "empty") == 0) { //strcmp 함수를 통해 empty와 입력받은 문제열이 같은지 확인
if (front == rear)
printf("1\n");
else
printf("0\n");
}
else if (strcmp(order, "front") == 0) { //strcmp 함수를 통해 front와 입력받은 문제열이 같은지 확인
if (front == rear)
printf("-1\n");
else
printf("%d\n", que[front + 1]);
}
else if (strcmp(order, "back") == 0) { //strcmp 함수를 통해 back와 입력받은 문제열이 같은지 확인
if (front == rear)
printf("-1\n");
else
printf("%d\n", que[rear]);
}
else
printf("해당 명령어는 입력되어있지 않습니다.\n");
}
return 0;
}
void push(int num) {
rear++;
que[rear] = num;
}
원형큐를 구현하고 싶었지만 선형큐로 구현했다.
원형큐로 구현할 경우 몇까지를 큐의 포화상태로 잡아야할지 모르겠기 때문이다. 최대 10000개까지 명령어를 입력할 수 있기 때문에 push 명령어로 10000개를 입력할 경우 포화상태가 된다.
원형큐로 구현이 가능한가....?
원형큐에 대해선 조금 더 공부를 해야겠다.
반응형
'IT > 백준' 카테고리의 다른 글
카드 2 (원형큐/선형큐/데크) (0) | 2024.03.28 |
---|---|
[백준/C언어] 재귀함수가 뭔가요?_17478번_nabi (0) | 2022.02.20 |
[백준/C언어] 별 찍기-9_2446번_nabi (0) | 2022.01.23 |
[백준/C언어] 직각삼각형_4153번_nabi (0) | 2022.01.14 |
[백준/C언어] 스택_10828번_nabi (0) | 2022.01.13 |