반응형
C언어
#include <stdio.h>
int stack[100000];
int cnt = 0, sum = 0;
void push(int n){
if(cnt<100000){
stack[cnt] = n;
sum += stack[cnt];
cnt++;
}
}
void pop(){
if(cnt!=0){
cnt--;
sum -= stack[cnt];
stack[cnt] = 0;
}
}
int main(){
int inputNumber;
scanf("%d", &inputNumber);
int arr[inputNumber];
for(int i=0; i<inputNumber; i++){
scanf("%d", &arr[i]);
if(arr[i] == 0){
pop();
}else{
push(arr[i]);
}
}
printf("%d\n", sum);
}
|
C++
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> s;
int inputNumber;
cin >> inputNumber;
int arr[inputNumber];
int sum = 0;
for(int i=0; i<inputNumber; i++){
cin >> arr[i];
if(arr[i] == 0){
sum -= s.top();
s.pop();
}else{
s.push(arr[i]);
sum += s.top();
}
}
cout << sum << endl;
return 0;
}
|
반응형
'알고리즘 > 코드업' 카테고리의 다른 글
[코드업] 4021 홀수의 합 구하기 (C언어) (0) | 2020.04.07 |
---|---|
[코드업] 4011 생년월일 출력 (C언어) (0) | 2020.04.07 |
[코드업] 1714 숫자 거꾸로 출력하기 (C언어, C++) (0) | 2020.04.05 |
[코드업] 1440 비교 (C언어) (0) | 2020.04.03 |
[코드업] 1430 기억력 테스트 (C언어) (0) | 2020.04.03 |