프로그래머스 OX퀴즈 문제 링크
나의 풀이
function solution(quiz) {
let answer = [];
for (const q of quiz) {
const [num1, operator, num2, equl, result] = q.split(' ');
const calculate = eval(`${num1} ${operator} ${num2}`);
if(calculate === Number(result)) answer.push('O');
else answer.push('X');
}
return answer;
}
문제를 풀면서
- 연산 기호와 숫자 사이에는 공백이 존재하므로 공백을 기준으로
split
을 하여 문자열 배열 생성
- 문자열을 배열 디스트럭처링하고,
eval
을 이용하여 문자열 자체로 연산
⇒ 연산자가 +
, -
이외에 /
, *
도 존재하는 것으로 이해하여 간단하게 문제를 풀기 위해 eval
함수를 사용
⇒ 문제 꼼꼼히 읽기
다른 풀이를 보면서
eval
을 사용하여 푸는 거라면 공백이 아닌 (공백)=(공백)
을 기준으로 split
하여 연산하면 코드가 간결해진다.