Problem Solving/Baekjoon
[백준] 15815 천재 수학자 성필 - Data Structure / Java
graycode
2025. 12. 3. 15:11
• 문제 링크
https://www.acmicpc.net/problem/15815
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Stack<Integer> stk = new Stack<>();
for (char c : br.readLine().toCharArray()) stk.push(isDigit(c) ? c - '0' : calc(c, stk.pop(), stk.pop()));
bw.write(String.valueOf(stk.peek()));
bw.flush();
}
private static boolean isDigit(char c) {
return c >= '0' && c <= '9';
}
private static int calc(char op, int a, int b) {
if (op == '+') return a + b;
else if (op == '-') return b - a;
else if (op == '*') return a * b;
else return b / a;
}
}