-
[BOJ - JAVA] 10773 - 제로(스택) 본문
728x90
반응형
# 주소
https://www.acmicpc.net/problem/10773
# 문제
# 문제 해설 및 코드 리뷰
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
Stack<Integer> stack = new Stack<Integer>();
int n = scan.nextInt();
int sum = 0;
while(n-- > 0){
int x = scan.nextInt();
if(x != 0){
stack.push(x);
sum += x;
}else if(x == 0){
sum -= stack.peek();
stack.pop();
}
}
System.out.println(sum);
}
}
스택의 가장 기본적인 개념을 묻는 문제입니다.
정수를 입력받고 그 수가 0이면 수를 더하고 0이 아니면 마지막에 더해졌던 숫자를 빼는 형식으로 푸시면 됩니다.
stack에서 데이터를 입력하는 메소드는 push를 이용합니다. 그리고 제거할때는 pop을 쓰며 가장 최근의 값은
peek를 통해 조회할 수 있습니다.
stack은 기본적으로 선입선출의 구조를 가지고 있기 때문에 먼저 입력받은 데이터가 나갈 수도 있는 자료구조입니다.
728x90
반응형
'백준 문제 풀이' 카테고리의 다른 글
[BOJ - JAVA] 1085 - 직사각형에서 탈출(수학, 기하학) (0) | 2021.10.27 |
---|---|
[BOJ - JAVA] 10162 - 전자레인지(그리디 알고리즘) (0) | 2021.10.25 |
[BOJ - JAVA] 1010 - 다리 놓기(DP, 조합) (0) | 2021.10.20 |
[BOJ - JAVA] 2579 - 계단 오르기(DP, 점화식) (0) | 2021.10.20 |
[BOJ - JAVA] 1912 - 연속합(DP) (0) | 2021.10.18 |
Comments