CS/Algorithm

[백준 : 10773] 제로 - JAVA

yujindonut 2021. 4. 4. 17:31
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