골드까지 화이팅!
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <stack>
#include <cstring>
int main() {
char* str = new char[100];
scanf("%s", str);
int size = strlen(str);
std::stack<int> stk;
int i = 0;
while (i < size) {
if (str[i] == '(') {
stk.push(-1);
}
else if (str[i] == ')') {
int tmp = 0;
while (stk.top() != -1) {
tmp += stk.top();
stk.pop();
}
// 이제 stk.top()==-1
stk.pop();
stk.push(tmp);
}
else if (str[i] == 'H') {
stk.push(1);
}
else if (str[i] == 'C') {
stk.push(12);
}
else if (str[i] == 'O') {
stk.push(16);
}
else { // 숫자
int tmp=0;
tmp = stk.top();
stk.pop();
int number = str[i] - '0';
tmp *= number;
stk.push(tmp);
}
i++;
}
int answer = 0;
while (!stk.empty()) {
answer += stk.top();
stk.pop();
}
std::cout << answer << std::endl;
return 0;
}
'Computer Science > C++' 카테고리의 다른 글
백준 C++ | #27 BOJ1620 나는야 포켓몬 마스터 이다솜 C++ 문제 풀이 (0) | 2022.09.02 |
---|---|
백준 C++ | #26 BOJ2358 평행선 C++ 문제 풀이 (0) | 2022.09.01 |
백준 C++ | #24 BOJ1823 수확 C++ 문제 풀이 (0) | 2022.08.24 |
백준 C++ | #23 BOJ11053 계단 오르기 C++ 문제 풀이 (0) | 2022.08.23 |
백준 C++ | #22 BOJ2579 계단 오르기 C++ 문제 풀이 (0) | 2022.08.22 |