프로그래머스 문제풀이/Level 0

컨트롤 제트 (자바, Java)

뮤츠 2022. 12. 1. 00:19

여러 풀이법이 있을것 같은데, 나는 스택으로 풀었다. 순서를 뒤바꾸면 쉽다 -> 후입선출의 스택. 이란 느낌으로 발상.

 

import java.util.Stack;

class Solution {
    public int solution(String s) {
        int answer = 0;
        
        String[] arr = s.split(" ");
        int l = arr.length;
        Stack<Integer> stack = new Stack<>(); // 숫자를 받을 스택.
        
        for (int i=0; i<l; i++) {
        	if (arr[i].equals("Z")) {
        		answer-=stack.pop();
        	} else {
        		stack.push(Integer.parseInt(arr[i]));
        		answer+=stack.peek();
        	}
        }        
        
        return answer;
    }
}