🦛 문제 설명
문자열 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) {
binomial = binomial.replace(" ", "");
int index = 0;
char operator = '+';
int answer = 0;
String[] num = new String[2];
for(int i=0; i < binomial.length(); i++) {
if(binomial.charAt(i) == '+' || binomial.charAt(i) == '-' || binomial.charAt(i) == '*') {
index = i;
operator = binomial.charAt(index);
}
}
num = binomial.split("\\" + String.valueOf(operator));
if(operator == '+') {
answer = Integer.valueOf(num[0]) + Integer.valueOf(num[1]);
} else if(operator == '-') {
answer = Integer.valueOf(num[0]) - Integer.valueOf(num[1]);
} else if(operator == '*') {
answer = Integer.valueOf(num[0]) * Integer.valueOf(num[1]);
}
return answer;
}
}
'코딩테스트_문제풀이 > 프로그래머스' 카테고리의 다른 글
행렬의 덧셈 (0) | 2023.12.15 |
---|---|
수열과 구간 쿼리 4 (0) | 2023.12.12 |
특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2023.12.12 |
중복된 문자 제거 (0) | 2023.12.12 |
가장 가까운 같은 글자 (0) | 2023.12.12 |