입력 코드
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
int queue[2000000];
int front = 0, back = 0;
char command[6];
for (int i = 0; i<n; i++) {
scanf("%s", command);
if (strncmp(command, "push", 4) == 0) {
int num;
scanf("%d", &num);
queue[front] = num;
front += 1;
}
else if (strncmp(command, "pop", 3) == 0) {
if (front == back) printf("-1\n");
else {
printf("%d\n", queue[back]);
back += 1;
}
}
else if (strncmp(command, "size", 4) == 0) {
printf("%d\n", front - back);
}
else if (strncmp(command, "empty", 5) == 0) {
if (front == back) printf("1\n");
else printf("0\n");
}
else if (strncmp(command, "front", 5) == 0) {
if (front == back) printf("-1\n");
else printf("%d\n", queue[back]);
}
else if (strncmp(command, "back", 4) == 0) {
if (front == back) printf("-1\n");
else printf("%d\n", queue[front - 1]);
}
}
return 0;
}
출처 www.acmicpc.net/source/17560588
코드 설명
#자료구조 #큐
References
daily-life-in-20s.tistory.com/79
daily-life-in-20s.tistory.com/92
문제 출처
'C' 카테고리의 다른 글
#68. [백준_C언어] 1021 : 회전하는 큐 \ 자료구조 (0) | 2021.02.09 |
---|---|
#67. [백준_C언어] 1966 : 프린터 큐 \ 큐, 덱 (0) | 2021.02.08 |
#65. [백준_C언어] 10773 : 제로 \ 스택 (0) | 2021.02.08 |
#64. [백준_C언어] 11866 : 요세푸스 문제 0 (0) | 2021.02.03 |
#63. [백준_C언어] 11650 : 좌표 정렬하기 (0) | 2021.02.03 |