이 문제의 핵심은
0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다
입니다
마치 스택의 pop을 연상시키는 문제네요
코드입니다
import java.util.Scanner;
public class Main {
public static int[] stack;
public static int size = 0;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
stack = new int[N];
for(int i = 0; i < N; i++) {
int flag = scan.nextInt();
switch (flag) {
case 0:
pop();
break;
default :
push(flag);
break;
}
}
int sum=0;
for(int i=0; i<N; i++) {
sum += stack[i];
}
System.out.println(sum);
}
public static void push(int item) {
stack[size] = item;
size++;
}
public static void pop() {
if(size == 0) {
}else {
stack[size - 1] = 0;
size--;
}
}
}
push를 이용해 입력하고
pop을 이용해 삭제 하는
stack의 기능을 구현했습니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 10807 JAVA 자바] 개수 세기 (0) | 2023.08.16 |
---|---|
[백준 10798 JAVA 자바] 세로읽기 (0) | 2023.08.15 |
[백준 10757 JAVA 자바] 큰 수 A+B (0) | 2023.08.15 |
[백준 10718 JAVA 자바] We love kriii (0) | 2023.08.15 |
[백준 10610 JAVA 자바] 30 (0) | 2023.08.13 |