덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz
가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.
quiz
의 길이 ≤ 10quiz | result |
---|---|
["3 - 4 = -3", "5 + 6 = 11"] | ["X", "O"] |
["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] | ["O", "O", "X", "O"] |
입출력 예 #1
입출력 예 #2
function solution(quiz) {
return quiz.map((e,i)=>
(e.split(' ')[1]=='+'
?+e.split(' ')[0] + +e.split(' ')[2]
:+e.split(' ')[0] - +e.split(' ')[2])
== +e.split(' ')[4]?"O":"X") ;
}
다른풀이
function solution(quiz) {
var answer = [];
return quiz.map(t => {
const [calc, result] = t.split(' = ');
const sign = calc.includes('+') ? 1 : -1
const [a, b] = calc.split(sign === 1 ? ' + ' : ' - ');
return +a + (+b * sign) === +result ? 'O' : 'X'
});
}
function solution(quiz) {
let answer = [];
quiz.forEach((val) => {
const [x, sign, y, , z] = val.split(" ");
let sum = 0;
if (sign === "+") sum = Number(x) + Number(y);
else sum = Number(x) - Number(y);
sum === Number(z) ? answer.push("O") : answer.push("X");
});
return answer;
}