Skip to content

Commit 6ffb0a1

Browse files
committed
[Silver IV] Title: 제로, Time: 720 ms, Memory: 104944 KB -BaekjoonHub
1 parent 39ea225 commit 6ffb0a1

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# [Silver IV] 제로 - 10773
2+
3+
[문제 링크](https://www.acmicpc.net/problem/10773)
4+
5+
### 성능 요약
6+
7+
메모리: 104944 KB, 시간: 720 ms
8+
9+
### 분류
10+
11+
구현, 자료 구조, 스택
12+
13+
### 제출 일자
14+
15+
2025년 11월 1일 00:32:07
16+
17+
### 문제 설명
18+
19+
<p>나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다.</p>
20+
21+
<p>재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다.</p>
22+
23+
<p>재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다.</p>
24+
25+
<p>재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자!</p>
26+
27+
### 입력
28+
29+
<p>첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)</p>
30+
31+
<p>이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.</p>
32+
33+
<p>정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.</p>
34+
35+
### 출력
36+
37+
<p>재민이가 최종적으로 적어 낸 수의 합을 출력한다. 최종적으로 적어낸 수의 합은 2<sup>31</sup>-1보다 작거나 같은 정수이다.</p>
38+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import java.util.*;
2+
3+
public class Main {
4+
public static void main(String[] args) {
5+
Stack<Integer> stack = new Stack<>();
6+
Scanner sc = new Scanner(System.in);
7+
int k = sc.nextInt();
8+
int sum = 0;
9+
10+
while(k-- > 0){
11+
int num = sc.nextInt();
12+
if(num==0){
13+
sum-=stack.pop();
14+
}else{
15+
stack.push(num);
16+
sum+=num;
17+
}
18+
}
19+
20+
System.out.print(sum);
21+
}
22+
}

0 commit comments

Comments
 (0)