๋ฌธ์
์ฝ๋
#include <iostream>
#include <stack>
using namespace std;
int arr[26];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int N; cin>>N;
string cmd; cin>>cmd;
stack<double>st;
for(int i=0; i<N; i++) cin>>arr[i];
for(int i=0; i<cmd.length(); i++){
if(cmd[i]=='*'){
double num1 = st.top();
st.pop();
double num2 = st.top();
st.pop();
st.push(num2*num1);
}
else if(cmd[i]=='+'){
double num1 = st.top();
st.pop();
double num2 = st.top();
st.pop();
st.push(num2+num1);
}
else if(cmd[i]=='/'){
double num1 = st.top();
st.pop();
double num2 = st.top();
st.pop();
st.push(num2/num1);
}
else if(cmd[i]=='-'){
double num1 = st.top();
st.pop();
double num2 = st.top();
st.pop();
st.push(num2-num1);
}
else st.push(arr[cmd[i]-65]);
}
cout<<fixed;
cout.precision(2);
cout<<st.top();
}
ํ์ด
์ฝ๋ ๊ตฌํ ์ค๊ณ๋ ์๋์ ๊ฐ์ต๋๋ค.
- ์ํ๋ฒณ์ด๋ฉด stack์ ์ ์ฅํ๋ค.
- ์ฐ์ฐ์ด๋ฉด ๊ณ์ฐํ๋ค.
์ฒ์์ ํ์ํ๊ธฐ์์ด ๋ฌด์์ด์ง ๋ชฐ๋ผ์ ํด๋น ํ๊ธฐ์ ์๋ฏธ์ ๋ํด ์๋์ ๋ธ๋ก๊ทธ๋ฅผ ์ฝ๊ณ ์ดํดํ๊ฒ ๋์์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 2346๋ฒ - ํ์ ํฐ๋จ๋ฆฌ๊ธฐ (0) | 2022.03.11 |
---|---|
[๋ฐฑ์ค,c++] 13305๋ฒ - ์ฃผ์ ์ (0) | 2022.03.11 |
[๋ฐฑ์ค,c++] 10799๋ฒ - ์ ๋ง๋๊ธฐ (0) | 2022.03.10 |
[๋ฐฑ์ค,c++] 23977๋ฒ - To Find Password (0) | 2022.03.10 |
[๋ฐฑ์ค,c++] 1874๋ฒ - ์คํ ์์ด (0) | 2022.03.09 |
[๋ฐฑ์ค,c++] 1991๋ฒ - ํธ๋ฆฌ ์ํ (0) | 2022.03.08 |
๋๊ธ