https://school.programmers.co.kr/learn/courses/30/lessons/120907?language=javascript
function solution(quiz) {
let result = [];
for(let i = 0; i < quiz.length; i++){
let tmpQuiz = quiz[i];
let [left, calculate, right, equal, answer] = tmpQuiz.split(" ");
let checkResult = eval(`${left} ${calculate} ${right}`);
if(checkResult.toString() === answer){
result.push("O");
} else {
result.push("X");
}
}
return result;
}
eval()은 문자로 표현된 Javascript 코드를 실행하는 함수입니다.
ex) eval("2 + 2"); // 4를 반환
따라서 코드를 설명드리자면, 우선 quiz를 구조분해할당을 통해 quiz[i]를 쪼갭니다.
이후 eval을 통해 answer값을 구합니다. 현재 eval을 통해 구한값은 Number고, answer는 String입니다. 따라서 eval을 통해 구한값을 toString()으로 변환하거나, answer값을 Number type으로 변환하면됩니다. (checkResult.toString() === answer) 대신, checkResult === +answer와 같이 작성해도 문제 없습니다.
eval()을 통해 구한값이 answer와 같다면 result.push("O")을 아니라면 "X"를 push하여 원하는 값을 구하면 됩니다.