반응형
#include <iostream>
#include <stack>
#include <cstring>
using namespace std;
int alphaarr[26];
stack <double> st;
double calnum(double num1, double num2, char op)
{
if (op == '+')
return num1 + num2;
else if (op == '-')
return num1 - num2;
else if (op == '*')
return num1 * num2;
else if (op == '/')
return num1 / num2;
}
int main(void)
{
int n;
cin >> n; //5
char str[101];
cin >> str; //ABC*+DE/-
for (int i = 0; i < n; i++)
cin >> alphaarr[i];
int len = strlen(str);
double num1, num2;
for (int i = 0; i < len; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
st.push((double)alphaarr[str[i] - 'A']);
else
{
num2 = st.top();
st.pop();
num1 = st.top();
st.pop();
st.push(calnum(num1, num2, str[i]));
}
}
printf("%.2f", st.top());
}
한번에 통과!
반응형
'C언어' 카테고리의 다른 글
백준 11655번 Rot 13 getline함수 쓰기 (0) | 2020.08.18 |
---|---|
백준 10820번 문자열분석 : fgets 함수 ! (2) | 2020.08.18 |
백준 10808/10809번 알파벳 찾기 bucket 이용하기 (0) | 2020.08.18 |
백준 1918번 후위표기식 만들기 : 반례추가 (0) | 2020.08.18 |
백준 17299번 오등큰수 : 배열크기 중요하다..!!! (0) | 2020.08.18 |
백준 17298번 오큰수 / 인덱스와 값의 비교 유의해야 (0) | 2020.08.17 |
백준 10799번 boj 쇠막대기와 레이저 / stack썼다가 더 쉽게 고침 (0) | 2020.08.17 |
백준 boj 17413번 단어 뒤집기 2 stl 짱! (0) | 2020.08.17 |