반응형
문제 설명
출처 :: https://school.programmers.co.kr/learn/courses/30/lessons/120907
윗 링크를 이용해 더 자세한 설명을 참고해주세요.
나의 풀이
"=" 을 "=="으로 변경하고 값을 비교.
삼항연산자를 이용해서 O, X 확인
function solution(quiz) {
const mapped = quiz.map((v) => v.replace("=", "=="));
return mapped.map((v) => eval(v) ? "O" : "X");
}
eval()
JavaScript 표현식, 명령문, 또는 연속되는 다수의 명령문을 나타내는 문자열. 표현식은 이미 존재하는 객체의 변수나 속성을 포함할 수 있습니다.
eval()의 인자는 문자열입니다. 인자가 표현식을 나타낸다면 eval()은 표현식을 평가합니다. 인자가 하나 이상의 JavaScript 명령문을 나타낸다면 모두 실행합니다. 연산식을 계산하기 위해 eval()을 호출하지 마세요. JavaScript는 연산식을 알아서 계산합니다.
다른 사람 풀이
function solution(quiz) {
var answer = quiz.map(item=> {
const [left,right] = item.split("=");
return eval(left) == right ? "O" : "X";
});
return answer;
}
구조분해할당 이용해 풀이
function solution(quiz) {
let answer = [];
quiz.forEach((val) => {
const [x, sign, y, , z] = val.split(" ");
let sum = 0;
if (sign === "+") {
sum = Number(x) + Number(y);
} else {
sum = Number(x) - Number(y);
}
sum === Number(z) ? answer.push("O") : answer.push("X");
});
return answer;
}
반응형
'Javascript > 코딩테스트-연습' 카테고리의 다른 글
[JavaScript] 다항식 더하기 - 프로그래머스 (28) | 2024.04.03 |
---|---|
[JavaScript] 이진수 더하기 - 프로그래머스 (28) | 2024.04.02 |
[JavaScript] 한 번만 등장한 문자 - 프로그래머스 (29) | 2024.04.02 |
[JavaScript] 컨트롤 제트 - 프로그래머스 (21) | 2024.04.01 |
[JavaScript] 인덱스 바꾸기 - 프로그래머스 (26) | 2024.04.01 |