[프로그래머스] OX퀴즈.JS

ungnam·2023년 6월 5일

programmers level0

목록 보기
15/29
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/120907

나의 풀이

function solution(quiz) {
    const result = [];
    quiz.forEach((expr) => {
        let answer;
        expr = expr.split(" ");
        const [left, op, right] = expr.slice(0, 3);
        answer = op === "+" ? (+left) + (+right) : left - right;
        
        if (answer === +expr.at(-1)) {
            result.push("O");
        } else {
            result.push("X");
        }
    })
    return result;
}

참고할 만한 풀이

function solution(quiz) {
    const result = [];
    quiz.forEach((expr) => {
        const [left, right] = expr.split(" = ");
        let [a, sign, b] = left.split(" ");
        
        b = sign === "+" ? +b : -b;
        result.push(+a + b === +right ? "O" : "X");
    })
    return result;
}

좌변 / 우변 및 좌변의 피연산자 / 연산자 구조분해 할당
sign에 따라 b의 부호를 다르게 할당

profile
꾸준함을 잃지 말자.

0개의 댓글