목차
📢 문제 출처
⏰ 문제 설명
- 덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다.
- 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.
⏰ 제한 사항
- (1). 연산 기호와 숫자 사이는 항상 하나의 공백이 존재합니다.
- (2). 단 음수를 표시하는 마이너스 기호와 숫자 사이에는 공백이 존재하지 않습니다.
- (3). 1 ≤ quiz의 길이 ≤ 10
- (4). X, Y, Z는 각각 0부터 9까지 숫자로 이루어진 정수를 의미하며, 각 숫자의 맨 앞에 마이너스 기호가 하나 있을 수 있고 이는 음수를 의미합니다.
- (5). X, Y, Z는 0을 제외하고는 0으로 시작하지 않습니다
- (6). [연산자]는 + 와 - 중 하나입니다.
⏰ 풀이
class Solution {
public String[] solution(String[] quiz) {
String[] answer = new String[quiz.length];
for (int i = 0; i < quiz.length; i++) {
String[] s = quiz[i].split(" ");
int i1 = Integer.parseInt(s[0]);
int i2 = Integer.parseInt(s[2]);
int iresult = Integer.parseInt(s[4]);
int icheck = 0;
char cal = s[1].charAt(0);
switch (cal){
case '+':
icheck = i1 + i2;
break;
case '-':
icheck = i1 - i2;
break;
}
if(iresult == icheck){
answer[i] = "O";
}
else {
answer[i] = "X";
}
}
return answer;
}
}
- 배열에 있는 수식을 풀어서 값이 맞는지 체크해서 "O" or "X"로 출력해야한다.
- quiz의 배열 갯수를 확인해서, answer에 객체를 생성한다.
- 배열의 갯수만큼 반복문을 돌려서 수식을 나눈다.
- 문자와 숫자 사이에는 공백이 있기 때문에. split(" ")을 사용하여 공백에 있는 문자나 숫자를 하나씩 추출한다.
- 각 배열에 맞는 자료형을 받아서 값을 넣어준다.
- 연산자는 [+] or [-] 밖에 없기 때문에 받은 문자에 대한 조건을 걸어서 연산을 진행한다.
- 진행한 후에 진짜 값이 맞는지 계산한 후에 answer에 리턴한다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 조건에 맞게 수열 변환하기 1 (0) | 2023.08.08 |
---|---|
[프로그래머스] 자릿수 더하기 (0) | 2023.08.08 |
[프로그래머스] 같은 숫자는 싫어 (0) | 2023.08.07 |
댓글