극동대학교\AI컴퓨터공학과\JAVA/프로그래머스 코딩 기초 트레이닝

[프로그래머스, LV.0] 간단한 식 계산하기

sundori 2024. 1. 6. 23:39

목차

    #1 간단한 식 계산하기

    문제 설명

    문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.

    제한사항

    • 0 ≤ a, b ≤ 40,000
    • 0을 제외하고 a, b는 0으로 시작하지 않습니다.

    입출력 예

    binomial result
    "43 + 12" 55
    "0 - 7777" -7777
    "40000 * 40000" 1600000000

    입출력 예 설명

    입출력 예 #1

    • 예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다.

    입출력 예 #2

    • 예제 2번의 binomial은 "0 - 7777"로 이 식을 계산한 결과인 0 - 7777 = -7777을 return 합니다.

    입출력 예 #3

    • 예제 3번의 binomial은 "40000 * 40000"으로 이 식을 계산한 결과인 40000 × 40000 = 1600000000을 return 합니다.

    #2 알고리즘 및 코드

    import java.util.Arrays;
    
    public class Main {
        public static void main(String[] args) {
            Solution solution = new Solution();
    
            String binomial = "40000 * 40000";
            int result = solution.solution(binomial);
            System.out.println(result); // 출력 예상값: 1600000000
    
            String binomial1 = "43 + 12";
            int result1 = solution.solution(binomial1);
            System.out.println(result1); // 출력 예상값: 55
    
            String binomial2 = "0 - 7777";
            int result2 = solution.solution(binomial2);
            System.out.println(result2); // 출력 예상값: -7777
        }
    }
    
    class Solution {
        public int solution(String binomial) {
            String[] tokens = binomial.split(" ");
    
            int a = Integer.parseInt(tokens[0]);
            String op = tokens[1];
            int b = Integer.parseInt(tokens[2]);
    
            int answer = 0;
    
            switch (op) {
                case "+":
                    answer = a + b;
                    break;
                case "-":
                    answer = a - b;
                    break;
                case "*":
                    answer = a * b;
                    break;
                default:
                    System.out.println("Invalid operator");
                    break;
            }
    
            return answer;
        }
    }
    • " " 공백을 기준으로 나누어 문자열 배열에 저장하고 이를 변환하여 a, op, b에 저장하고 연산을 한다.