-
[Python][C++] 10773번 제로Algorithm/Baekjoon 2024. 6. 27. 13:50
문제
https://www.acmicpc.net/problem/10773
코드
1. Python
import sys input = sys.stdin.readline k = int(input()) arr = [] for _ in range(k): n = int(input()) if n: arr.append(n) else: arr.pop() print(sum(arr))
2. C++
#include <iostream> #include <stack> using namespace std; int main() { int k; cin >> k; stack<int> s; int temp; for (int i = 0; i < k; i++) { cin >> temp; if (temp == 0) s.pop(); else s.push(temp); } int sum = 0; while (!s.empty()) { sum += s.top(); s.pop(); } cout << sum; return 0; }
풀이
이 문제는 스택을 사용하여 간단하게 해결할 수 있다. 입력된 숫자가 0일 경우 스택에서 팝하고, 0이 아닐 경우 스택에 푸시한다. 마지막에 스택에 남아 있는 모든 수의 합을 구하면 된다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[Python][C++] 10816번 숫자 카드 2 (0) 2024.06.28 [Python][C++] 10814번 나이순 정렬 (0) 2024.06.27 [파이썬/Python] 9012번 괄호 (0) 2024.06.13 [파이썬/Python] 7568번 덩치 (2) 2024.06.11 [파이썬/Python] 4949번 균형잡힌 세상 (2) 2024.06.11