코딩 테스트

[프로그래머스 Level 0] OX 퀴즈

y_flm 2025. 4. 3. 20:12
반응형
문제:
덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다.
수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.

 

문제 풀어보기: 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 [left, right] = quiz[i].split('=');
        
        eval(left) === Number(right) ? result.push('O') : result.push('X');
    }
    
    return result;
}

 처음에는 for 문을 이용해서 문제를 풀어보았다.

'='을 기준으로 배열 변환해주고, 각각 left와 right에 저장해준다.

eval은 문자열을 그대로 실행해주는 함수로 left를 계산해준뒤 right랑 비교해서 OX를 반환해주면 된다.

 

function solution(quiz) {
    return quiz.map((val) => {
        let [left, right] = val.split('=');
        
        return eval(left) === Number(right) ? "O" : "X";
    })
}

OX를 담은 배열로 반환해야하므로 map을 사용하면 더 간결하게 코드를 작성할 수 있다.

 

반응형