728x90
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
LinkedList<Integer> list = new LinkedList<>();
//입력받기
int listSize = scan.nextInt();
int num;
for(int i = 0; i < listSize; i++) {
num = scan.nextInt();
if(num == 0) {
list.pollLast();
//list.remove()는 list가 비어있을때 NoSuchElementException예외를 던진다
//list.poll()은 list가 비어있을때 null을 return한다.
//list.poll()은 첫번째원소가 삭제되는 것이다.
}
else {
list.add(num);
}
}
int sum = 0;
for(int i : list) {
sum += i;
}
System.out.println(sum);
scan.close();
}
}
LinkedList의 pollLast() 메소드를 이용해서 쉽게 풀었다.
poll()과 pollFirst()는 첫번째 element를 삭제하는 것인데 처음에 poll()메소드를 써서 잘못된 값이 나왔었다
728x90
'CS > Algorithm' 카테고리의 다른 글
[ 백준 10799 ] : 쇠막대기 - JAVA (0) | 2021.04.04 |
---|---|
ArrayList와 LinkedList의 차이점 [ Java ] (0) | 2021.04.04 |
백준 1966 : 프린터큐 [JAVA] (0) | 2021.03.29 |
백준 2164 [큐] : 카드2 - JAVA (0) | 2021.03.29 |
백준 10845 큐 : JAVA (0) | 2021.03.28 |