본문 바로가기
알고리즘/문제풀이

[Java] 백준 10773 : 제로

by abcodef 2021. 12. 16.

🔗 문제 내용

https://www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

🌱 문제 풀이 방법

누가 봐도 스택을 사용하는 문제라 스택을 사용해서 풀었다.

스택 문제가 제일 재미있다.

🤔 공부가 필요한 부분

스택 사용을 찾아보지 않고 바로 가능할 정도로 공부하기

💻 코드

import java.util.Scanner;
import java.util.Stack;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();

		Stack<Integer> stack = new Stack<>();

		int answer = 0;

		for (int i = 0; i < T; i++) {
			int num = sc.nextInt();

			if (num == 0) {
				stack.pop();
			} else {
				stack.push(num);
			}

		}

		int size = stack.size();

		for (int r = 0; r < size; r++) {
			answer += stack.pop();
		}

		System.out.println(answer);
		sc.close();
	}
}

'알고리즘 > 문제풀이' 카테고리의 다른 글

[Java] 백준 14502 : 연구소  (0) 2022.04.10
[Java] 백준 10814 : 나이순 정렬  (0) 2021.12.17
[Java] 백준 7568 : 덩치  (0) 2021.12.15
[Java] 백준 9012 : 괄호  (0) 2021.12.15
[Java] 백준 4949 : 균형잡힌 세상  (0) 2021.12.15

댓글