문제 출처
https://www.acmicpc.net/problem/10773
풀이
- 그대로 구현하였으나, 문제의 요구사항으로는 스택을 사용하는게 적절한 것 같다.
- 문제에서 제시한 힌트대로 구현하면 쉽게 풀 수 있다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
List<Integer> list = new ArrayList<>();
int N = Integer.parseInt(stringTokenizer.nextToken());
for (int i = 0; i < N; i++) {
stringTokenizer = new StringTokenizer(bufferedReader.readLine());
int value = Integer.parseInt(stringTokenizer.nextToken());
if (value == 0){
list.remove(list.size() - 1);
} else{
list.add(value);
}
}
int sum = 0;
for (Integer value : list) {
sum += value;
}
System.out.println(sum);
}
}
채점 결과