반응형
`OX퀴즈`
문제 설명
덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.
3 - 4 = -3 은 틀린 수식이므로 "X", 5 + 6 = 11 은 옳은 수식이므로 "O" 입니다. 따라서 ["X", "O"]를 return합니다.
19 - 6 = 13 은 옳은 수식이므로 "O", 5 + 66 = 71 은 옳은 수식이므로 "O", 5 - 15 = 63 은 틀린 수식이므로 "X", 3 - 1 = 2는 옳은 수식이므로 "O" 따라서 ["O", "O", "X", "O"]를 return합니다.
code
class Solution {
public String[] solution(String[] quiz) {
String[] answer = new String[quiz.length];
for (int i = 0; i < quiz.length; i++) {
String[] str = quiz[i].split(" ");
int num1 = Integer.parseInt(str[0]);
int num2 = Integer.parseInt(str[2]);
int result = Integer.parseInt(str[4]);
if (str[1].equals("+")){
answer[i] = ((num1 + num2) == result)? "O" : "X";
}
else if (str[1].equals("-")) {
answer[i] = ((num1 - num2) == result) ? "O" : "X";
}
}
return answer;
}
}
1.정답을 담을 answer 배열 을 quiz길이만큼 생성한다.
2. quiz 를 순회하며 str 배열에 quiz[i] 번째 데이터를 공백을 기준으로 split 한다.
- i == 0 일때 ["19-6=13"]
- i == 1 일때 ["5+66=71"]
- i == 2 일때 ["5-15=63"]
- ......
3.여기서 규칙이 있다.
- str[0] == 제일처음 오는 숫자
- str[1] == 연산자
- str[2] == 두번째 수
- str[4] == 정답값
각 변수에 담아준뒤 str[1]번째가 "+" 라면 num1+num2 가 정답값과 같은지 비교후 같다면 O를 아니면 X를 넣어준다.
반응형
'algorithm' 카테고리의 다른 글
[프로그래머스]등수 매기기, java (0) | 2023.03.28 |
---|---|
[프로그래머스]로그인 성공?, java (0) | 2023.03.28 |
[프로그래머스]팩토리얼, java (2) | 2023.03.21 |
[프로그래머스]외계어 사전, java (0) | 2023.03.20 |
[백준]9012번_괄호, java (0) | 2023.03.20 |
댓글