# μλ£κ΅¬μ‘°
10845. ν
μ μλ₯Ό μ μ₯νλ νλ₯Ό ꡬνν λ€μ, μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
λͺ λ Ήμ μ΄ μ¬μ― κ°μ§μ΄λ€.
- push X: μ μ Xλ₯Ό νμ λ£λ μ°μ°μ΄λ€.
- pop: νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- size: νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
- empty: νκ° λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
- front: νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- back: νμ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€. μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€. λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€.
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
μμ μ λ ₯1
15
push 1
push 2
front
back
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
front
μμ μΆλ ₯1
1
2
2
0
1
2
-1
0
1
-1
0
3

νμ΄
μ€νμ λ§λ λ¬Έμ μ λΉμ·νκ² μ§ννλ€. μ΄μ λν΄μ κ°μ₯ μμ μμμΈ frontμ κ°μ₯ λ· μμμΈ rearμ μ μν΄μ£Όμλ€.
push ν¨μμμλ λ§μ§λ§ μμ λΆλΆμ dataλ₯Ό μΆκ°νλ€.
pop ν¨μμμλ λ§μ½ frontμ rearμ΄ κ°μ κ²½μ° νκ° λΉ κ²μ΄λ―λ‘ return -1μ ν΄μ€λ€. κ·Έ μΈμ κ²½μ°μλ 맨 μμ μμλ₯Ό μ κ±°νλ€.
size ν¨μμμλ rearμμ frontλ₯Ό λΉΌμ νμ ν¬κΈ°λ₯Ό λ°ννλ€.
empty ν¨μμμλ frontμ rearμ κ°μ΄ κ°μ κ²½μ°μ νκ° λΉ κ²μ΄λ―λ‘ μ΄λ 1μ λ°ννκ³ κ·Έ μΈμ κ²½μ°μλ 0μ λ°ννλ€.
front_print ν¨μμμλ νκ° λΉμμ λλ -1μ λ°ννκ³ κ·Έ μΈμ κ²½μ°μλ κ°μ₯ 첫 λ²μ§Έμ μμλ₯Ό λ°ννλ€.
back_print ν¨μμμλ νκ° λΉμμ λλ -1μ λ°ννκ³ κ·Έ μΈμ κ²½μ°μλ λ§μ§λ§ μμλ₯Ό λ°ννλ€.
main ν¨μμμλ strcmpν¨μλ₯Ό μ¬μ©ν΄μ λ¬Έμμ΄μ λΉκ΅ν΄μ κ·Έ κ°μ΄ 1μΈ κ²½μ° κ·Έμ λ§λ ν¨μλ₯Ό μ€ννλλ‘ νλλ°, μ΄λ λ°νκ°μ΄ 1μΌ λ μ€νλκΈ° μν΄ !λ μμ λΆμ¬μ£Όμλ€.
#include<stdio.h>
#include<string.h>
int queue[10001];
int front = -1, rear = -1;
void push(int data) {
queue[++rear] = data;
}
int pop() {
if(front == rear) {
return -1;
} else {
return queue[++front];
}
}
int size() {
return rear - front;
}
int empty() {
if(front == rear) {
return 1;
} else {
return 0;
}
}
int front_print() {
if(front == rear) {
return -1;
} else {
return queue[front + 1];
}
}
int back_print() {
if(front == rear) {
return -1;
} else {
return queue[rear];
}
}
int main() {
int n;
scanf("%d", &n); // λͺ
λ Ήμ μ
for(int i = 0; i < n; i++) {
char c[6];
scanf("%s", c);
if(!strcmp(c, "push")) {
int data;
scanf("%d", &data);
push(data);
} else if(!strcmp(c, "pop")) {
printf("%d\n", pop());
} else if(!strcmp(c, "size")) {
printf("%d\n", size());
} else if(!strcmp(c, "empty")) {
printf("%d\n", empty());
} else if(!strcmp(c, "front")) {
printf("%d\n", front_print());
} else {
printf("%d\n", back_print());
}
}
return 0;
}

'λ°±μ€ > C' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [C] λ°±μ€ 18258λ² (1) | 2022.11.12 |
|---|---|
| [C] λ°±μ€ 10828λ² (0) | 2022.11.11 |
| [C] λ°±μ€ 1065λ² (0) | 2022.11.11 |
| [C] λ°±μ€ 2164λ² (0) | 2022.05.24 |
| [C] λ°±μ€_ 7568λ² (0) | 2022.05.16 |