-
[Java 자바] 프로그래머스 Lv 0 - OX퀴즈Study/Java 2024. 11. 18. 12:24728x90반응형
목차
1. 문제 설명
728x90문제 설명
덧셈, 뺄셈 수식들이 '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
- [연산자]는 + 와 - 중 하나입니다.
2. 입출력 예시
입출력 예시
#1
3 - 4 = -3 은 틀린 수식이므로 "X", 5 + 6 = 11 은 옳은 수식이므로 "O" 입니다. 따라서 ["X", "O"]를 return합니다.
#2
19 - 6 = 13 은 옳은 수식이므로 "O", 5 + 66 = 71 은 옳은 수식이므로 "O", 5 - 15 = 63 은 틀린 수식이므로 "X", 3 - 1 = 2는 옳은 수식이므로 "O" 따라서 ["O", "O", "X", "O"]를 return합니다.
3. 문제 풀이
반응형문제 풀이
1. answer 배열의 길이를 quiz 배열의 길이와 같게 한다.
2. 반복문을 사용하여, quiz 배열의 길이만큼 반복한다.
3. quiz[i]의 값을 공백을 기준으로 나누어 array 배열을 만든다.
4. 계산하기 위해서 array의 맨 앞에 숫자를 firstNumber에 넣는다. (array 배열은 문자열 배열이라서, Integer.parseInt를 사용한다.)
5. 반복문을 사용하여, array의 길이만큼 반복한다. (2씩 증가시켜, 기호를 찾는다)
6. 조건문을 사용하여, array[j]가 + 기호라면, firstNumber에 array[j+1] 값을 더한다.
7. array[j]가 - 기호라면, firstNumber에 array[j+1] 값을 뺀다.
8. 마지막으로 array 배열의 마지막 값이 firstNumber의 최종값과 같다면, O 아니면 X를 각 answer의 인덱스에 넣는다. (firstNumber는 정수형이므로 String.valueOf를 통해 문자열로 변환)
9. answer를 반환한다.
class Solution { public String[] solution(String[] quiz) { String[] answer = new String[quiz.length]; // 각 수식 계산 for(int i=0; i<quiz.length; i++){ String[] array = quiz[i].split(" "); int firstNumber = Integer.parseInt(array[0]); for(int j=1; j<array.length; j+=2){ if(array[j].equals("+")){ firstNumber += Integer.parseInt(array[j+1]); } else if (array[j].equals("-")){ firstNumber -= Integer.parseInt(array[j+1]); } } // 수식이 참인지 계산 if(array[4].equals(String.valueOf(firstNumber))){ answer[i] = "O"; } else { answer[i] = "X"; } } return answer; } }
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 제곱수 판별하기 (1) 2024.11.20 [Java 자바] 프로그래머스 Lv 0 - 문자열안에 문자열 (0) 2024.11.19 [Java 자바] 프로그래머스 Lv 0 - 자릿수 더하기 (0) 2024.11.17 [Java 자바] 프로그래머스 Lv 0 - n의 배수 고르기 (0) 2024.11.16 [Java 자바] 프로그래머스 Lv 0 - 숫자 찾기 (1) 2024.11.15