Dev.baelanche

[백준 13420] 사칙연산 본문

Data Structure & Algorithm/PS - JAVA

[백준 13420] 사칙연산

baelanche 2019. 7. 20. 20:38
반응형

 

 

문자열체크 문제이다.

+, -, *, / 가 나오기 전까지의 문자들을 왼쪽 숫자, 그 이후부터 = 이전까지의 문자들을 오른쪽 숫자

= 이후의 문자들을 결과값으로 저장한다.

 

왼쪽 숫자가 음수일 수 있으므로 그 부분을 유의해야한다.

 

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int t = sc.nextInt();
        sc.nextLine();
        while(t-->0) {
            char c[] = sc.nextLine().replaceAll(" ", "").toCharArray();
            String left = "";
            char mid;
            String right = "";
            String result = "";
            int k = 0;
            for(int i=0; true; i++) {
                if(i > 0 && (c[i] == '+' || c[i] == '-' || c[i] == '*' || c[i] == '/')) {
                    k = i+1;
                    mid = c[i];
                    break;
                } else left += c[i];
            }
            for(int i=k; true; i++) {
                if(c[i] == '=') {
                    k = i+1;
                    break;
                } else right += c[i];
            }
            for(int i=k; i<c.length; i++)
                result += c[i];
            
            long ans = 0;
            if(mid == '+') ans = Long.parseLong(left) + Long.parseLong(right);
            if(mid == '-') ans = Long.parseLong(left) - Long.parseLong(right);
            if(mid == '*') ans = Long.parseLong(left) * Long.parseLong(right);
            if(mid == '/') ans = Long.parseLong(left) / Long.parseLong(right);
            
            System.out.println(ans == Long.parseLong(result) ? "correct" : "wrong answer");
        }
    }
}
반응형

'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글

[백준 13423] Three Dots  (0) 2019.07.20
[백준 13422] 도둑  (0) 2019.07.20
[백준 13417] 카드 문자열  (0) 2019.07.20
[백준 13414] 수강신청  (0) 2019.07.20
[백준 16678] 모독  (0) 2019.07.20
Comments