반응형
SMALL
아래 코드에서 가장 중요한 건 '버퍼' 이다. scanf가 어떤 식으로 동작하는지 개념을 잘 알고 있어한다. getchar(); 를 이용하여 버퍼를 비워주지 않으면, 버퍼에 '\n'가 계속 남아있어서 원하는 결과가 나오지 않는다.
#include <stdio.h>
int main() {
char input;
int n,add,count=0;
int num[100];
scanf("%d", &n);
while (getchar() != '\n'); // 그냥 getchar();로 해도 된다.
for (int i = 0; i < n; i++) {
scanf("%c", &input);
if (input == 'i') {
scanf("%d", &add);
num[count++] = add;
getchar();
}
else if (input == 'c') {
printf("%d\n", count);
getchar();
}
else if (input == 'o') {
if (count == 0) {
printf("empty\n");
getchar();
}
else {
printf("%d\n", num[count-1]);
count--;
getchar();
}
}
}
}
반응형
LIST
'정올 문제풀이' 카테고리의 다른 글
정올 1880 : 암호풀기 (1) | 2020.05.02 |
---|---|
정올 2813 : 소수의 개수 (+ 에라토스테네스의 체) (0) | 2020.04.30 |
정올 1740 : 소수 (0) | 2020.04.29 |
정올 1009 : 각 자릿수의 역과 합 (0) | 2020.04.28 |
정올 1331 : 문자마름모 (0) | 2020.04.28 |
댓글