728x90
- C++
#include <iostream>
#include <stack>
#include <string>
using namespace std;
stack<double> st;
string input;
double result;
double a_idx, b_idx;
int arr[27];
int N;
int main() {
cin.tie(0);
ios_base::sync_with_stdio(0);
cin >> N;
cin >> input;
for (int i = 0; i < N; i++) cin >> arr[i];
for (int i = 0; i < input.length(); i++) {
if ('A' <= input[i] && input[i] <= 'Z') {
int num = input[i] - 'A';
st.push(arr[num]);
} else {
b_idx = st.top();
st.pop();
a_idx = st.top();
st.pop();
if (input[i] == '*')
st.push(a_idx * b_idx);
else if (input[i] == '/')
st.push(a_idx / b_idx);
else if (input[i] == '+')
st.push(a_idx + b_idx);
else if (input[i] == '-')
st.push(a_idx - b_idx);
}
}
cout << fixed;
cout.precision(2);
cout << st.top();
return 0;
}
|
cs |
728x90
'PS' 카테고리의 다른 글
BOJ 14719 - 빗물 (0) | 2020.10.26 |
---|---|
BOJ 1725 - 히스토그램 (0) | 2020.10.26 |
BOJ 1238 - 파티 (0) | 2020.10.02 |
BOJ 1929 - 소수 구하기 (0) | 2020.09.30 |
BOJ 2512 - 예산 (0) | 2020.09.28 |