10773번
문제
- 첫 번째줄에 정수 n이 주어짐
- 이후 n개의 줄에 정수 1개씩 주어지는데 정수가 '0'일 경우 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 씀
- 최종적으로 적은 수의 합을 출력
문제 해결 순서
- 입력받은 수를 저장할 list를 생성
- n만큼 반복문을 돌면서 정수를 입력
- 입력받은 정수가 0이면 list의 마지막 원소를 삭제
- 0이 아니라면 list에 add()
- list의 원소를 모두 더해서 출력
import java.util.ArrayList;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList list = new ArrayList<>();
int n = scan.nextInt();
for(int i=0; i<n; i++){
int z = scan.nextInt();
if(z == 0){
list.remove(list.size()-1);
}
else{
list.add(z);
}
}
int result = 0;
for(int i=0; i<list.size(); i++){
result += (int)list.get(i);
}
System.out.print(result);
}
}