https://www.acmicpc.net/problem/10773
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
이 문제는 기본적인 스택 라이브러리를 이용하면 쉽게 해결할 수 있는 문제다. 입출력과 결과값에 대한 조건도 전부 Int형 안에서 처리가 가능한 기본적인 문제였다.
문제 및 입출력
예제
코드
import java.util.Scanner;
import java.util.Stack;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Stack<Integer> s = new Stack<Integer>();
int k = sc.nextInt();
int sum = 0;
for(int i=0; i<k; i++)
{
int temp = sc.nextInt();
if(temp==0) // 0일 때만 스택에서 pop
{
s.pop();
}
else // 나머지는 무조건 스택에 push
{
s.push(temp);
}
}
while(!s.isEmpty())
{
sum += s.pop();
}
System.out.println(sum);
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 4949 균형잡힌 세상 (0) | 2021.10.15 |
---|---|
[백준] 10828 스택 (0) | 2021.10.14 |
[백준] 10814 나이순정렬 (0) | 2021.10.12 |
[백준] 15652 N과 M(4) (0) | 2021.10.08 |
[백준] 15651 N과 M(3) (0) | 2021.10.08 |
댓글