문제
내가 작성한 정답
class Solution {
public String[] solution(String[] quiz) {
String[] answer = new String[quiz.length];
for(int i=0; i < quiz.length; i++){
String[] a = quiz[i].split(" ");
int x = Integer.parseInt(a[0]);
String o = a[1];
int y = Integer.parseInt(a[2]);
int z = Integer.parseInt(a[4]);
int result = o.equals("+") ? x+y : x-y;
answer[i] = result==z ?"O" : "X";
}
return answer;
}
}
다른 사람들의 정답
import java.util.Arrays;
class Solution {
public String[] solution(String[] quiz) {
// 1. quiz 배열을 스트림으로 변환하여 각 문제를 처리
return Arrays.stream(quiz).map(s -> {
// 2. 각 문제 문자열을 공백으로 나누어 배열로 변환
String[] arr = s.trim().split(" ");
// 3. 연산자가 "+"인 경우와 "-"인 경우를 체크
// - arr[1]은 연산자, arr[0]은 첫 번째 숫자, arr[2]는 두 번째 숫자, arr[4]는 결과
return arr[1].equals("+") && Integer.parseInt(arr[0]) + Integer.parseInt(arr[2]) == Integer.parseInt(arr[4]) ||
Integer.parseInt(arr[0]) - Integer.parseInt(arr[2]) == Integer.parseInt(arr[4])
? "O" : "X"; // 조건이 맞으면 "O", 아니면 "X" 반환
}).toArray(String[]::new); // 4. 결과를 String 배열로 변환하여 반환
}
}
Share article