알고리즘/코드업
[코드업] 3117 0은 빼! (C언어, C++)
hoony_
2020. 4. 6. 17:33
반응형
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;
}
|
반응형