덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.
quiz | result |
---|---|
["3 - 4 = -3", "5 + 6 = 11"] | ["X", "O"] |
["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] | ["O", "O", "X", "O"] |
주어진 quiz 배열에서 각 문자들은 " "공백으로 구분되어 있다.
공백을 기준으로 quiz 배열의 요소를 나누어준다.
수식은 형태가 정해져 있기에 숫자는 0,2,4 번째에 고 있으며 연산자는 +,- 만을 사용하기에 splits[1]에 접근하여 연산자를 확인 후 계산한다.
계산한 값 result와 thirdNum을 비교하여 O,X를 판단하여 answerList에 추가한다.
answerList를 String[] 형으로 변환하여 answer에 집어넣어 준다.
import java.util.ArrayList;
class Solution {
public String[] solution(String[] quiz) {
ArrayList<String> answerList = new ArrayList<String>();
for (int i = 0; i < quiz.length; i++) {
String[] splits = quiz[i].split(" ");
int firstNum = Integer.parseInt(splits[0]);
int secondNum = Integer.parseInt(splits[2]);
int thirdNum = Integer.parseInt(splits[4]);
int result = (splits[1].equals("+")) ? firstNum + secondNum : firstNum - secondNum;
if (thirdNum == result) answerList.add("O");
else answerList.add("X");
}
String[] answer = answerList.toArray(new String[answerList.size()]); return answer;
}
}