Contents

간단한 식 계산하기(with.Java)

   Oct 16, 2023     1 min read

간단한 식 계산하기에 대하여 알아본 글입니다.

코딩 테스트 문제를 풀며, 풀었던 문제에 대한 회고와 다른 풀이 방법을 알아보며, 알아가고자 합니다.

문제에 대해 먼저 알아보겠습니다.

문제

문자열 binomial이 매개변수로 주어집니다.

binomial은 “a op b” 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 ‘+’, ‘-‘, ‘*’ 중 하나입니다.

주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.

입출력 예시

binomial: “43 + 12”

result: 55

문제에 대한 나의 풀이

class Solution {
    public int solution(String binomial) {
        String[] parts = binomial.split(" ");

        int a = Integer.parseInt(parts[0]);
        int b = Integer.parseInt(parts[2]);

        String op = parts[1];

        int result = 0;
        switch (op) {
            case "+":
                result = a + b;
                break;
            case "-":
                result = a - b;
                break;
            case "*":
                result = a * b;
                break;
        }

        return result;
    }
}
풀이 설명

String[] parts = binomial.split(“ “);: 주어진 binomial 문자열을 공백을 기준으로 나누어서 parts 배열에 저장합니다. 이렇게 하면 이항식의 구성 요소인 피연산자와 연산자를 분리할 수 있습니다.

int a = Integer.parseInt(parts[0]);와 int b = Integer.parseInt(parts[2]);: parts 배열의 첫 번째 요소와 세 번째 요소를 정수로 변환하여 피연산자 a와 b에 저장합니다. 이렇게 하면 이항식에서 숫자 부분을 추출합니다.

String op = parts[1];: parts 배열의 두 번째 요소를 연산자 문자열 op에 저장합니다. 이 연산자는 “+”, “-“, 또는 “*” 중 하나일 것입니다.

int result = 0;: 결과 값을 저장할 변수 result를 초기화합니다.

switch (op) { … }: op의 값을 기반으로 switch 문을 사용하여 연산을 수행합니다.

case “+”: : 덧셈 연산을 수행하고 결과를 result에 저장합니다.

case “-“: : 뺄셈 연산을 수행하고 결과를 result에 저장합니다.

case “*”: : 곱셈 연산을 수행하고 결과를 result에 저장합니다.

return result;: 계산된 결과를 반환합니다.