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
- lob
- The Loard of BOF
- BOJ
- 웹페이지 만들기
- 숙명여자대학교 정보보안 동아리
- siss
- WarGame
- 숙명여자대학교 정보보안동아리
- C언어
- PHP 웹페이지 만들기
- 파이썬
- hackerrank
- 머신러닝
- c++
- Javascript
- c
- 생활코딩
- CSS
- 기계학습
- 백준
- BOJ Python
- 자료구조 복습
- SWEA
- 풀이
- XSS Game
- 드림핵
- Sookmyung Information Security Study
- hackctf
- Python
- HTML
Archives
- Today
- Total
혜랑's STORY
[BOJ_C] 10828번 : 스택, 10845번 : 큐 본문
- 문제
- 풀이
#include <stdio.h>
#include <string.h>
#define MAX 10000
int rear = -1;
int stack[MAX];
int pop(){
if(rear == -1)
return -1;
else
return stack[rear--];
}
void push(int value){
stack[++rear] = value;
}
void size(){
printf("%d\n", rear+1);
}
void empty(){
if(rear == -1)
printf("1\n");
else
printf("0\n");
}
void top(){
if(rear == -1)
printf("-1\n");
else
printf("%d\n", stack[rear]);
}
int main(){
char str[6];
int x, n;
scanf("%d", &n);
for(int i=0; i<n; i++){
scanf("%s", str);
if(strcmp(str, "push")==0){
scanf("%d", &x);
push(x);
}
else if(strcmp(str, "pop")==0)
printf("%d\n", pop());
else if(strcmp(str, "top")==0)
top();
else if(strcmp(str, "size")==0)
size();
else
empty();
}
return 0;
}
- 문제
- 풀이
#include <stdio.h>
#include <string.h>
#define MAX 10000
int rear = -1;
int stack[MAX];
int front = -1;
int pop(){
if(rear == front)
return -1;
else
return stack[++front];
}
void push(int value){
stack[++rear] = value;
}
void size(){
printf("%d\n", rear-front);
}
void empty(){
if(rear - front == 0)
printf("1\n");
else
printf("0\n");
}
void back(){
if(rear - front == 0)
printf("-1\n");
else
printf("%d\n", stack[rear]);
}
int main(){
char str[6];
int x, n;
scanf("%d", &n);
for(int i=0; i<n; i++){
scanf("%s", str);
if(strcmp(str, "push")==0){
scanf("%d", &x);
push(x);
}
else if(strcmp(str, "pop")==0)
printf("%d\n", pop());
else if(strcmp(str, "front")==0){
if(rear - front == 0)
printf("-1\n");
else
printf("%d\n", stack[front+1]);
}
else if(strcmp(str, "back")==0)
back();
else if(strcmp(str, "size")==0)
size();
else
empty();
}
return 0;
}
'무지성 공부방 > 알고리즘 해결' 카테고리의 다른 글
[BOJ_C++] 11399번 : ATM (0) | 2021.03.11 |
---|---|
[BOJ_C++] 2798번 : 블랙잭 (0) | 2021.03.03 |
[BOJ_C] 1259번 (0) | 2021.02.26 |
[BOJ_C] 10989번 (0) | 2021.02.08 |
[BOJ_C] 1929번 (0) | 2021.02.08 |