char - '0'을 이용하면 아스키코드값을 알 필요없이 int형으로 변환 가능
Character.getNumericValue(input.charAt(i)) 방법을 이용해도 형변환이 가능하다.
package main4;
import java.util.Map;
import java.util.Scanner;
import java.util.Stack;
import java.util.HashMap;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Main4 {
//stack.pop
//stack.push
//stack.peek;
//stakc.size
//stack.contain
//stack.claer
// Character.isDigit -> char 이 숫자 인지 판단
public int solution(String a ){
int basic = 0;
int st = 0;
Stack<Character> stack = new Stack<>();
for(int i = 0; i < a.length(); i ++) {
if(Character.isDigit(a.charAt(i))) {
stack.push(a.charAt(i));
} else if(!Character.isDigit(a.charAt(i))) {
basic = a.charAt(i-1) - '0';
stack.pop();
st = i;
break;
}
}
for(int i = st; i < a.length(); i ++) {
if(Character.isDigit(a.charAt(i))) {
stack.push(a.charAt(i));
}else if(a.charAt(i) == '+'){
basic += stack.peek()- '0';
stack.pop();
}else if(a.charAt(i) == '*'){
basic *= stack.peek()- '0';
stack.pop();
}else if(a.charAt(i) == '-'){
basic -= stack.peek()- '0';
stack.pop();
}else if(a.charAt(i) == '/'){
basic /= stack.peek()- '0';
stack.pop();
}
}
return basic ;
};
public static void main(String[] args) {
Main4 main2 = new Main4();
Scanner kb = new Scanner (System.in);
String a= kb.nextLine();
System.out.println( main2.solution(a));
}
}