public String[] solution(String[] quiz) {
String[] answer = new String[quiz.length];
for (int i = 0; i < quiz.length; i++) {
String[] quizArr = quiz[i].split(" ");
int n1 = Integer.parseInt(quizArr[0]);
int n2 = Integer.parseInt(quizArr[2]);
answer[i] = (n1 + n2) * (quizArr[1].equals("+") ? 1 : -1) == Integer.parseInt(quizArr[4]) ? "O" : "X";
}
return answer;
}
class Solution {
public String[] solution(String[] quiz) {
String[] answer = new String[quiz.length];
for (int i = 0; i < quiz.length; i++) {
String[] quizArr = quiz[i].split(" ");
int n1 = Integer.parseInt(quizArr[0]);
int n2 = Integer.parseInt(quizArr[2]);
String op = quizArr[1];
switch(op) {
case "+":
if(n1 + n2 == Integer.parseInt(quizArr[4])) {
answer[i] = "O";
} else {
answer[i] = "X";
}
break;
case "-":
if(n1 - n2 == Integer.parseInt(quizArr[4])) {
answer[i] = "O";
} else {
answer[i] = "X";
}
break;
}
}
return answer;
}
}
처음에는 아래 방법으로 했는데 찾아보니 위에 방법으로 간결하게 작성할 수 있었다.
중요점은 quizArr[1].equals("+") ? 1 : -1 이다.
값 뒤에 곱하는 방법으로 하여 간단히 하였다.
728x90
'코딩테스트 > Java' 카테고리의 다른 글
[CodeTree]두 개의 직각삼각형 (0) | 2024.08.06 |
---|---|
[CodeTree]조건에 부합하는 수 (0) | 2024.08.06 |
[Programmers] 안전지대 (0) | 2024.04.23 |
[Programmers] 겹치는 선분의 길이 (0) | 2024.04.23 |
[Programmers] 평행 (0) | 2024.04.23 |