[프로그래머스] OX퀴즈 - JAVA

2023. 3. 19. 19:16프로그래머스 - JAVA

문제

덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.

조건

연산 기호와 숫자 사이는 항상 하나의 공백이 존재합니다. 단 음수를 표시하는 마이너스 기호와 숫자 사이에는 공백이 존재하지 않습니다.
1 ≤ quiz의 길이 ≤ 10
X, Y, Z는 각각 0부터 9까지 숫자로 이루어진 정수를 의미하며, 각 숫자의 맨 앞에 마이너스 기호가 하나 있을 수 있고 이는 음수를 의미합니다.
X, Y, Z는 0을 제외하고는 0으로 시작하지 않습니다.
-10,000 ≤ X, Y ≤ 10,000
-20,000 ≤ Z ≤ 20,000
[연산자]는 + 와 - 중 하나입니다.

코드

import java.util.ArrayList;

class Solution {
    public ArrayList<String> solution(String[] quiz) {
         String[][] str = new String[quiz.length][];
        ArrayList<String> arr = new ArrayList<>();

        for(int i = 0;i<quiz.length;i++){
            str[i] = quiz[i].split(" ");
            if(str[i][1].equals("+") && Integer.valueOf(str[i][0]) + Integer.valueOf(str[i][2]) == Integer.valueOf(str[i][4])){
                arr.add("O");
            }
            else if(str[i][1].equals("-") && Integer.valueOf(str[i][0]) - Integer.valueOf(str[i][2]) == Integer.valueOf(str[i][4])){
                arr.add("O");
            }
            else{
                arr.add("X");
            }
        }
        return arr;
    }
}

 

 

 

 

 

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges