본문 바로가기
코딩테스트/Java

[Programmers] OX퀴즈

by Coarti 2024. 4. 23.
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