OX퀴즈

김세호·2022년 12월 9일
0

문제


내 풀이

class Solution {
    public String[] solution(String[] quiz) {
        String[] answer = {};
        answer = new String[quiz.length];
        for (int i = 0 ; i < quiz.length ; i ++){
        String[] str = quiz[i].split(" "); // 숫자와 연산기호를 담을 str배열
            //str[0]=숫자,str[1]=연산기호,str[2]=숫자,str[3]=등호,str[4]=연산결과
            if((str[1].equals("+"))){ // 연산기호 "+" 일 때
                //str[0]숫자와 str[2]숫자의 합이 str[4]숫자 일 때
                if(((Integer.parseInt(str[0])+Integer.parseInt(str[2]))==Integer.parseInt(str[4]))){
                    answer[i]="O";
                }else{
                    answer[i]="X";
                }
            }else if(str[1].equals("-")){ // 연산기호 "-" 일 때
                //str[0]숫자와 str[2]숫자의 차가 str[4]숫자 일 때
                if(((Integer.parseInt(str[0])-Integer.parseInt(str[2]))==Integer.parseInt(str[4]))){
                    answer[i]="O";
                }else{
                    answer[i]="X";
                }     
            }       
        }
        return answer;
    }
}

다른 사람 풀이

class Solution {
    public String[] solution(String[] quiz) {
        for(int i=0; i<quiz.length; i++){
            String[] text = quiz[i].split(" "); // 스플릿 결과를 담을 배열
            //text[1]연산자가 +면 text[2]에 1을 곱해주고, 그렇지 않으면 즉,text[1]연산자가 -면 text[2]에 -1을 곱해 더해준 결과
            int result = Integer.parseInt(text[0]) + ( Integer.parseInt(text[2]) * ( text[1].equals("+") ? 1:-1) );
            quiz[i] = result == Integer.parseInt(text[4])? "O": "X";
        }
        return quiz;
    }
}

0개의 댓글