728x90
# 문제
덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.
# 답안
// 1. 입력: 문자열 배열 quiz
// 2. 출력: "O", "X"를 담은 배열
// 각 수식을 '=' 기호를 기준으로 왼쪽과 오른쪽으로 나누기
// 각 수식을 평가하여 결과를 비교
function solution(quiz) {
return quiz
.map((el) => el.split(" = "))
.map((el) => {
return eval(el[0]) == el[1] ? "O" : "X";
});
}
# 인사이트
// 기존 배열을 새로운 배열을 만들어야한다면 map을 써야한다는 것을 떠올려보자.
- 첫 번째 map 함수: map 함수를 사용하여 입력 배열 quiz의 각 요소를 처리한다. split(" = ") 메서드를 사용하여 각 수식을 '=' 기호를 기준으로 왼쪽과 오른쪽으로 나눈다.
- ["3 - 4", "-3"]
- ["5 + 6", "11"]
- 두 번째 map 함수: 다음 map 함수에서는 각 수식을 평가하여 결과를 비교한다. 먼저 eval(el[0])를 사용하여 수식을 계산하고, 이를 el[1]과 비교하여 결과를 결정한다.
- 첫 번째 수식: 3 - 4를 계산하여 -1이 된다. 이것을 -3과 비교하여 다르므로 "X"를 반환한다.
- 두 번째 수식: 5 + 6을 계산하여 11이 된다. 이것을 11과 비교하여 같으므로 "O"를 반환한다.
- 결과 반환: 마지막으로 map 함수에 의해 반환된 각 결과를 배열로 포장하여 반환한다. // ["X", "O"]
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 88 - 문자열 내 p와 y의 개수) (0) | 2024.05.05 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 87 - 다음에 올 숫자 ) (0) | 2024.05.03 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 85 - 최빈값 구하기) (0) | 2024.04.24 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 84 - 특이한 정렬) (0) | 2024.04.24 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 83 - 문자열 밀기) (0) | 2024.04.24 |