[λ°±μ€][JAVA]10773λ² : μ€ν(μ λ‘)
λ¬Έμ
λμ½λ κΈ°μ₯ μ¬λ―Όμ΄λ λμ리 νμμ μ€λΉνκΈ° μν΄μ μ₯λΆλ₯Ό κ΄λ¦¬νλ μ€μ΄λ€.
μ¬νμ΄λ μ¬λ―Όμ΄λ₯Ό λμμ λμ κ΄λ¦¬νλ μ€μΈλ°, μ μνκ²λ νμ μ μ μλ μ¬νμ΄λ λμ μ€μλ‘ μλͺ» λΆλ₯΄λ μ¬κ³ λ₯Ό μΉκΈ° μΌμ€μλ€.
μ¬νμ΄λ μλͺ»λ μλ₯Ό λΆλ₯Ό λλ§λ€ 0μ μΈμ³μ, κ°μ₯ μ΅κ·Όμ μ¬λ―Όμ΄κ° μ΄ μλ₯Ό μ§μ°κ² μν¨λ€.
μ¬λ―Όμ΄λ μ΄λ κ² λͺ¨λ μλ₯Ό λ°μ μ μ ν κ·Έ μμ ν©μ μκ³ μΆμ΄ νλ€. μ¬λ―Όμ΄λ₯Ό λμμ£Όμ!
μ λ ₯
첫 λ²μ§Έ μ€μ μ μ Kκ° μ£Όμ΄μ§λ€. (1 ≤ K ≤ 100,000)
μ΄ν Kκ°μ μ€μ μ μκ° 1κ°μ© μ£Όμ΄μ§λ€. μ μλ 0μμ 1,000,000 μ¬μ΄μ κ°μ κ°μ§λ©°, μ μκ° "0" μΌ κ²½μ°μλ κ°μ₯ μ΅κ·Όμ μ΄ μλ₯Ό μ§μ°κ³ , μλ κ²½μ° ν΄λΉ μλ₯Ό μ΄λ€.
μ μκ° "0"μΌ κ²½μ°μ μ§μΈ μ μλ μκ° μμμ 보μ₯ν μ μλ€.
μΆλ ₯
μ¬λ―Όμ΄κ° μ΅μ’ μ μΌλ‘ μ μ΄ λΈ μμ ν©μ μΆλ ₯νλ€. μ΅μ’ μ μΌλ‘ μ μ΄λΈ μμ ν©μ 231-1λ³΄λ€ μκ±°λ κ°μ μ μμ΄λ€.
λ¨μνκ² μ μ λ ₯μ λ°μμ μμ±ν stackμ pushμ pop λ©μλλ₯Ό μ΄μ©νμ¬
ν΄κ²°νλ λ¬Έμ μλ€.
import java.util.*;
public class Main {
public int solution(int n, int[] arr){
int answer=0;
Stack<Integer> stack=new Stack<>();
for(int x:arr){
if (x!=0)
stack.push(x);
else
stack.pop();
}
for(int i=0; i<stack.size(); i++){
answer+=stack.get(i);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = kb.nextInt();
}
System.out.println(T.solution(n, arr));
}
}