2022년 12월 17일 토요일 - 완차이 너무 마시땅!
오늘 올려볼 문제는 150번 Evaluate Reverse Polish Notation 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
이게 되나하고 제출했는데 이게 되네?
입력
사진에서도 볼 수 있듯이 정수 또는 +, -, *, / 로 이루어져있는 String 배열 1개가 입력으로 들어온다.
풀이 및 코드
주어진 String 배열이 후위계산식일 때 해당 식을 계산하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
스택에 숫자를 넣어가면서 연산자가 나왔을 때 스택에서 숫자를 빼서 계산한 후 다시 스택에 넣어주는 방식으로 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int evalRPN(String[] tokens) {
Stack<Integer> s = new Stack<>();
for(var t : tokens) {
if(t.equals("+")) {
int n = s.pop();
s.push(s.pop() + n);
} else if(t.equals("-")) {
int n = s.pop();
s.push(s.pop() - n);
} else if(t.equals("*")) {
int n = s.pop();
s.push(s.pop() * n);
} else if(t.equals("/")) {
int n = s.pop();
s.push(s.pop() / n);
} else {
s.push(Integer.parseInt(t));
}
}
return s.pop();
}
}
제출 화면
후위계산 방법에 대해서 배운지 오래돼서 어쩌면 검색을 해야하겠는데~~ 생각을 했었는데 그냥 풀려버려서 조금 당황했다 ㅋㅋㅋㅋ
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 2389번 Longest Subsequence With Limited Sum 문제를 풀어보았다. (ft. java) (0) | 2022.12.25 |
---|---|
[LeetCode] 739번 Daily Temperatures 문제를 풀어보았다. (ft. java) (0) | 2022.12.18 |
[LeetCode] 931번 Minimum Falling Path Sum 문제를 풀어보았다. (ft. java) (0) | 2022.12.13 |
[LeetCode] 70번 문제를 풀어보았다. (ft. java) (0) | 2022.12.12 |
[LeetCode] 1339번 문제를 풀어보았다. (ft. java) (2) | 2022.12.10 |