문제 링크
스택의 동작을 구현하도록 한 문제이다. 처음에는 각각의 동작을 함수로 구현했으나, 나중에 생각해보니 단순 출력만 하면 되는데 굳이? 라는 생각이 들어 그냥 바로 출력해버리도록 구현했다. 제출 시에 함수 return 을 제대로 해주지 않으면 오류가 나서, 그냥 단순하게 구현하는게 베스트라는 생각이 들었다. main 함수도 return 0; 가 없으면 에러난다.
# 제출 코드
#include <stdio.h>
#include <string.h>
int stack[10000+10];
int pointer;
int main() {
int N;
char op[8];
int num;
scanf("%d ", &N);
while(N--){
scanf("%s", op);
if(!strcmp(op,"push")) {scanf("%d", &num); stack[pointer++] = num;}
else if (!strcmp(op, "top")) printf("%d\n", (pointer <= 0)? -1 :stack[pointer-1]);
else if (!strcmp(op, "size")) printf("%d\n", pointer);
else if (!strcmp(op, "empty")) printf("%d\n", pointer==0);
else printf("%d\n", (pointer <= 0)? -1:stack[--pointer]);
}
return 0;
}
반응형
'Computer Science&Engineering > 코딩테스트' 카테고리의 다른 글
[백준 10799] 쇠막대기 (0) | 2021.02.23 |
---|---|
[백준 9012] 괄호 (0) | 2021.02.23 |
[백준 별찍기 1~9] 쉬운 별찍기 모음 #별찍기꿀팁 #별찍기9개 #피라미드 #역피라미드 #모래시계찍기 #마름모찍기 (1) | 2021.02.22 |
[백준 10818] 최소, 최대 구하기 (0) | 2021.02.21 |
[백준 8393] 합 # 1부터 N까지 합 (0) | 2021.02.21 |