
-Code
import java.io.*;
import java.util.ArrayDeque;
import java.util.Deque;
public class BOJ15815 {
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
Deque<Integer> deq = new ArrayDeque<>();
for (char ch : line.toCharArray()) {
if (Character.isDigit(ch)) {
deq.addLast(ch - '0');
} else {
int num1 = deq.pollLast();
int num2 = deq.pollLast();
int temp = 0;
if (ch == '+') {
temp = num1 + num2;
} else if (ch == '-') {
temp = num2 - num1;
} else if (ch == '*') {
temp = num1 * num2;
} else {
temp = num2 / num1;
}
deq.addLast(temp);
}
}
System.out.println(deq.poll());
}
}
deq를 2개로 해서 풀려고 했으나 로직이 꼬여서 찾아보니 후위 표기법에 대해서 알아야 했습니다. 그래서 해당 방법을 가지고 구현을 했으나 -와 /인 경우 숫자를 바꿔서 해줘야 했는데 반대로 하여 한 번 더 틀렸었습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 7682번 틱택토 (0) | 2026.02.08 |
|---|---|
| [백준/Java] 4366번 Average Speed (0) | 2026.02.08 |
| [백준/Java] 14426번 접두사 찾기 (0) | 2026.02.07 |
| [백준/Java] 9329번 패스트 푸드 상금 (0) | 2026.02.07 |
| [백준/Java] 14500번 테트로미노 (0) | 2026.02.07 |