ffinn92 / Keep-at-solve-it

꾸준히 알고리즘 풀기 위한 스터디 저장소입니다.
2 stars 3 forks source link

[220711][BC][인프런](5-4) 후위식 연산 #95

Closed honeySleepr closed 2 years ago

honeySleepr commented 2 years ago

📌 문제

⭐️ 아이디어

🤔 고민한 내용

💪 새롭게 배운 내용

String 또는 char 값이 한자리 숫자인지 판별할 때는

🆘 이해가 어려운 내용

❌ 해결하지 못한 이유

✅ 본인 풀이

image

public class P0504 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] split = br.readLine().split("");
        Deque<Integer> stack = new ArrayDeque<>();

        for (String s : split) {
            if (s.matches("\\d")) {
                stack.push(Integer.parseInt(s));
            } else {
                if (s.equals("+")) {
                    stack.push((stack.pop() + stack.pop()));
                }
                if (s.equals("-")) {
                    stack.push((-stack.pop() + stack.pop()));
                }
                if (s.equals("*")) {
                    stack.push((stack.pop() * stack.pop()));
                }
                if (s.equals("/")) {
                    stack.push((1 / stack.pop() * stack.pop()));
                }
            }
        }
        System.out.println(stack.pop());
    }
}
/*
3 5 2 + * 9 -
*/

참고한 자료