using System;
public class Test
{
public static void Main()
{
string[] input = new string[]{"(","*","(","+","2","3",")","(","-","5","3",")",")"};
foreach(string a in input){
Console.Write(a);
}
Console.WriteLine();
stack(input);
}
static void stack(string[] data){
string[] stk = new string[100];
for(int i=0;i<100;i++){
stk[i]=null;
}
for(int i=0;i<data.Length;i++){
Console.WriteLine("data["+i+"] : "+data[i]);
if(data[i] ==")" ){
Console.WriteLine("pop start");
stk = pop(stk,data[i]);
}
// else if(data[i] !="*" || data[i] !="/" ||data[i] !="+" ||data[i] !="-"){
// cal(stk,data[i]);
// }
else{
stk = push(stk,data[i]);
}
}
Console.WriteLine();
foreach(string b in stk){
Console.Write(b);
}
}
static string[] push(string[] stk,string d){
for(int i=0;i<100;i++){
if(stk[i] == null){
stk[i] = d;
//Console.WriteLine("push : " + stk[i]);
break;
}
}
return stk;
}
static string[] pop(string[] stk,string d){
int sum = 0;
int[] num = new int[10];
string cal = "";
for(int i=0;i<10;i++){
num[i]=0;
}
for(int i=99;i>=0;i--){
// Console.WriteLine("stk : " +stk[i]);
if(stk[i] != null){
if(stk[i] == "("){
Console.WriteLine("cal go");
for(int j = 0;j<10;j++){
if(num[j]!=0){
if(cal == "+"){
sum += num[j];
}else if(cal == "-"){
sum -= num[j];
}else if(cal == "*"){
sum *= num[j];
}else{
sum /= num[j];
}
}
}
stk[i]=sum;
Console.WriteLine("cal_data : " + sum);
break;
}else if(stk[i] =="*" || stk[i] =="/" || stk[i] =="+" || stk[i] =="-"){
Console.WriteLine("cal save");
cal = stk[i];
stk[i]=null;
}else{
Console.WriteLine("num save");
for(int j = 0;j<10;j++){
if(num[j]==0){
num[j]=Int32.Parse(stk[i]);
stk[i]=null;
Console.WriteLine("pop : " + num[j]);
break;
}
}
}
}
}
return stk;
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXN0cmluZ1tdIGlucHV0ID0gbmV3IHN0cmluZ1tdeyIoIiwiKiIsIigiLCIrIiwiMiIsIjMiLCIpIiwiKCIsIi0iLCI1IiwiMyIsIikiLCIpIn07CgkJCgkJZm9yZWFjaChzdHJpbmcgYSBpbiBpbnB1dCl7CgkJCUNvbnNvbGUuV3JpdGUoYSk7CgkJfQoJCQlDb25zb2xlLldyaXRlTGluZSgpOwoJCXN0YWNrKGlucHV0KTsKCX0KCQoJc3RhdGljIHZvaWQgc3RhY2soc3RyaW5nW10gZGF0YSl7CgkJCgkJc3RyaW5nW10gc3RrID0gbmV3IHN0cmluZ1sxMDBdOwoJCQoJCWZvcihpbnQgaT0wO2k8MTAwO2krKyl7CgkJCXN0a1tpXT1udWxsOwoJCX0KCQkKCQlmb3IoaW50IGk9MDtpPGRhdGEuTGVuZ3RoO2krKyl7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKCJkYXRhWyIraSsiXSA6ICIrZGF0YVtpXSk7CgkJCWlmKGRhdGFbaV0gPT0iKSIgKXsKCQkJCUNvbnNvbGUuV3JpdGVMaW5lKCJwb3Agc3RhcnQiKTsKCQkJCXN0ayA9IHBvcChzdGssZGF0YVtpXSk7CgkJCX0KCQkvLwllbHNlIGlmKGRhdGFbaV0gIT0iKiIgfHwgZGF0YVtpXSAhPSIvIiB8fGRhdGFbaV0gIT0iKyIgfHxkYXRhW2ldICE9Ii0iKXsKCQkvLwkJY2FsKHN0ayxkYXRhW2ldKTsKCQkvLwl9CgkJCWVsc2V7CgkJCQkKCQkJCXN0ayA9IHB1c2goc3RrLGRhdGFbaV0pOwoJCQl9CgkJfQoJCUNvbnNvbGUuV3JpdGVMaW5lKCk7CgkJZm9yZWFjaChzdHJpbmcgYiBpbiBzdGspewoJCQlDb25zb2xlLldyaXRlKGIpOwoJCX0KCQkKCX0KCQoJc3RhdGljIHN0cmluZ1tdIHB1c2goc3RyaW5nW10gc3RrLHN0cmluZyBkKXsKCQkKCQlmb3IoaW50IGk9MDtpPDEwMDtpKyspewoJCQlpZihzdGtbaV0gPT0gbnVsbCl7CgkJCQlzdGtbaV0gPSBkOwoJCQkJLy9Db25zb2xlLldyaXRlTGluZSgicHVzaCA6ICIgKyBzdGtbaV0pOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJCgkJCgkJCgkJCgkJcmV0dXJuIHN0azsKCX0KCQoJc3RhdGljIHN0cmluZ1tdIHBvcChzdHJpbmdbXSBzdGssc3RyaW5nIGQpewoJCQoJCWludCBzdW0gPSAwOwoJCWludFtdIG51bSA9IG5ldyBpbnRbMTBdOwoJCXN0cmluZyBjYWwgPSAiIjsKCQkKCQlmb3IoaW50IGk9MDtpPDEwO2krKyl7CgkJCW51bVtpXT0wOwoJCX0KCQkKCQkKCQkKCQlmb3IoaW50IGk9OTk7aT49MDtpLS0pewoJCS8vCUNvbnNvbGUuV3JpdGVMaW5lKCJzdGsgOiAiICtzdGtbaV0pOwoJCQlpZihzdGtbaV0gIT0gbnVsbCl7CgkJCQkKCQkJCWlmKHN0a1tpXSA9PSAiKCIpewoJCQkJCUNvbnNvbGUuV3JpdGVMaW5lKCJjYWwgZ28iKTsKCQkJCQkKCQkJCQlmb3IoaW50IGogPSAwO2o8MTA7aisrKXsKCQkJCQkJaWYobnVtW2pdIT0wKXsKCQkJCQkJCQoJCQkJCQkJaWYoY2FsID09ICIrIil7CgkJCQkJCQkJc3VtICs9IG51bVtqXTsKCQkJCQkJCX1lbHNlIGlmKGNhbCA9PSAiLSIpewoJCQkJCQkJCXN1bSAtPSBudW1bal07CgkJCQkJCQl9ZWxzZSBpZihjYWwgPT0gIioiKXsKCQkJCQkJCQlzdW0gKj0gbnVtW2pdOwoJCQkJCQkJfWVsc2V7CgkJCQkJCQkJc3VtIC89IG51bVtqXTsKCQkJCQkJCX0KCgkJCQkJCX0KCQkJCQl9CgkJCQkJc3RrW2ldPXN1bTsKCQkJCQlDb25zb2xlLldyaXRlTGluZSgiY2FsX2RhdGEgOiAiICsgc3VtKTsKCQkJCQlicmVhazsKCQkJCX1lbHNlIGlmKHN0a1tpXSA9PSIqIiB8fCBzdGtbaV0gPT0iLyIgfHwgc3RrW2ldID09IisiIHx8IHN0a1tpXSA9PSItIil7CgkJCQkJQ29uc29sZS5Xcml0ZUxpbmUoImNhbCBzYXZlIik7CgkJCQkJY2FsID0gc3RrW2ldOwoJCQkJCXN0a1tpXT1udWxsOwoJCQkJfWVsc2V7CgkJCQkJQ29uc29sZS5Xcml0ZUxpbmUoIm51bSBzYXZlIik7CgkJCQkJZm9yKGludCBqID0gMDtqPDEwO2orKyl7CgkJCQkJCWlmKG51bVtqXT09MCl7CgkJCQkJCQludW1bal09SW50MzIuUGFyc2Uoc3RrW2ldKTsKCQkJCQkJCXN0a1tpXT1udWxsOwoJCQkJCQkJQ29uc29sZS5Xcml0ZUxpbmUoInBvcCA6ICIgKyBudW1bal0pOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9CgkJCQkJCgkJCQl9CgoJCQl9CgkJfQoJCXJldHVybiBzdGs7Cgl9CgkKCgkKfQ==