개발/알고리즘(코딩테스트)
프로그래머스, 자바스크립트) OX퀴즈
빔네모
2024. 3. 22. 09:28
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120907
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
eval을 사용해서 풀면 간단하겠지만, 실제 코드에서 eval은 악성 버그를 유발시킬수도 있기에 사용을 자제하는 편이다.
(eval은 문자열 수식을 넣으면 계산해주는 함수, ex. eval("1+1") //2 )
split 으로 공백을 기준으로 쪼갠 후 구조분해 할당을 통해 하나씩 어떤 값을 의미하는지 적어보자.
적어놓고 나면 if문으로 분리해서 쉽게 풀 수 있다.
function solution(quiz) {
return quiz.map((expression, i) => {
const [a, sign, b, equal, result] = expression.split(" ");
if (sign === "+") {
return Number(a) + Number(b) === Number(result) ? "O" : "X";
} else {
return Number(a) - Number(b) === Number(result) ? "O" : "X";
}
});
}