티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/120907
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(quiz) {
const answer = []
for(let i = 0; i < quiz.length; i++) {
const split = quiz[i].split(" ").map((v, i) => {
if(i === 1) return v
return Number(v)
})
switch(split[1]) {
case '+':
answer.push(split[0] + split[2] === split[4] ? 'O' : 'X')
break
case '-':
answer.push(split[0] - split[2] === split[4] ? 'O' : 'X')
break
}
}
return answer
}
주어진 quiz 배열은 띄어쓰기로 구분되어 있으므로, split 이용하여 띄어쓰기 기준으로 나눔
- map을 사용하여 연산자(인덱스 1)를 제외한 모든 원소를 Number로 형 변환하여 새 배열로 반환
- 0, 2번째 인덱스 : 숫자
- 1번째 인덱스 : 연산자
- 4번째 인덱스 : 정답
- switch문 이용
- 1번째 인덱스(연산자) 기준으로 분기
- 4번째 인덱스(정답)과 비교하여 일치하면 O, 불일치하면 X를 answer 배열에 push
- 1번째 인덱스(연산자) 기준으로 분기
- answer 반환

eval 을 사용한 경우가 대부분이었는데 실무에서 eval 사용은 지양하는 것을 권고한다
- eval 관련 참고 블로그 : https://7942yongdae.tistory.com/149
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] Lv.0 - 연속된 수의 합 (javascript) (1) | 2023.01.14 |
|---|---|
| [프로그래머스] Lv.0 - 다음에 올 숫자 (javascript) (0) | 2023.01.13 |
| [프로그래머스] Lv.0 - 짝수의 합 (javascript) (0) | 2023.01.10 |
| [프로그래머스] Lv.0 - 짝수의 합 (javascript) (1) | 2023.01.07 |
| [프로그래머스] Lv.0 - 편지 (javascript) (0) | 2023.01.07 |
댓글
