본문 바로가기
Programming/Test

[Java] OX퀴즈 - Programmers Q120907

by 돌방로그 2023. 4. 18.

프로그래머스(Programmers)를 통해 코딩 테스트 사전 연습한 사항입니다.


요약

  • 출처: 프로그래머스(Programmers)
  • 번호: 120907

 

코드

public class Java_120907 {
    public String[] solution(String[] quiz) {
        int size = quiz.length;
        String[] answer = new String [size];

        for(int i = 0; i < size; i++) {
            String [] strl = quiz[i].split(" ");
            int result = Integer.parseInt(strl[0]);

            for(int j = 1; j < strl.length; j+=2) {
                String letter = strl[j];
                int number = Integer.parseInt(strl[j+1]);
                if(letter.equals("=")) {
                    answer[i] = (result == number) ? "O" : "X";
                }
                else if(letter.equals("-")) {
                    result -= number;
                }
                else if(letter.equals("+")) {
                    result += number;
                }
            }

        }
        return answer;
    }
}

 

풀이

주어진 문자열 배열을 각각 하나의 수식으로 분리합니다.

수식을 " ", 즉 공백으로 Split하여 숫자와 기호를 분리합니다.

수식에는 "+", "-", "="로 기호가 총 3가지만 나올 수 있다고 제한 사항에 기록되어 있으니 해당 사항을 기준으로 분기문을 작성하여 원하는 결과를 추출할 수 있습니다.

"="가 아닌 기호에서는 수식에 대한 연산 결과를 진행하고, "=" 기호에서는 주어진 수식의 결과값과 연산 결과 값을 비교하도록 구현하여 OX 결과를 도출할 수 있습니다.

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120907

 

저장소

https://github.com/Ardium/TIL/blob/master/CodingTest/Java/src/programmers/level0/Java_120907.java

 

 


 

댓글