반응형
문제 설명
문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
제한사항
- 0 ≤ a, b ≤ 40,000
- 0을 제외하고 a, b는 0으로 시작하지 않습니다.
입출력 예
입출력 예 설명
입출력 예 #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 합니다.
문제풀이 코드
class Solution {
public int solution(String binomial) {
String[] elements = binomial.split(" ");
int a = Integer.parseInt(elements[0]);
int b = Integer.parseInt(elements[2]);
char operator = elements[1].charAt(0);
int result = 0;
switch (operator) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
}
return result;
}
}
문제풀이 방법
문제에서 binomial은 "a op b" 형태의 이항식이라고했다.
그런데 a와 op와 b는 공백이 포함되어있다. 따라서 split(" ")을 통해서
binomial[0] = a
binomial[1] = op
binomial[2] = b
라는 것을 알 수 있다.
각각의 문자열 배열을 형변환을 통해서 정수(a,b)와 char (op)로 저장하고
case 문을 통해서 각각의 경우에 연산을 통해 result 값을 구해주면 된다.
반응형