이우의 개발일지
[백준/C++] 10773번 제로 본문
백준 10773번 제로 코드 및 문제
https://www.acmicpc.net/problem/10773
※ 이 문제에서 주의 할 점 : stack 사이즈는 계속 바뀐다!!
for (int i = 0; i < nn; i++) {
result += sta.back();
//cout << "출력: " << sta.back() << endl;
sta.pop_back();
}
이 부분에서 stack의 사이즈를 nn이라고 해줬다.
원래는 저기에 stack.size() 해서 넣었는데 값이 계속 다르게 나와서 고정값을 넣어줬다.
스택에서 pop을 해줄 때마다 stack 사이즈가 계속 바뀌기 때문!!
#include <stdio.h>
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
int main() {
int N;
cin >> N;
int nn = 0;
vector<int> sta;
int result = 0;
for (int i = 0; i < N; i++) {
int num;
cin >> num;
if (num == 0) {
sta.pop_back();
nn--;
}
else {
sta.push_back(num);
nn++;
//cout << "출력: " << sta.top() << endl;
}
}
for (int i = 0; i < nn; i++) {
result += sta.back();
//cout << "출력: " << sta.back() << endl;
sta.pop_back();
}
cout << result << endl;
}
반응형
'Coding' 카테고리의 다른 글
[백준/C++] 2563번 색종이 (0) | 2024.05.17 |
---|---|
[백준/C++] 1158번 요세푸스 문제 [1] (0) | 2024.05.17 |
[백준/C++] 1193번 분수찾기 코딩 (0) | 2024.05.15 |
[백준/C++] 2941번 크로아티아 알파벳 (0) | 2024.05.15 |
[C++] 백준 10828번 스택 (0) | 2024.05.10 |