function solution(num, k) {
num = (num + '').split('')
let answer = ''
for(i=0; i<num.length; i++){
if(num[i] == k){
return answer = i + 1
} else answer = -1
}
return answer
}
indexOf 사용해서 풀고싶었는데 문법이 계속 오류 났다. 삼항 연산자에서 return을 못해주나? 근데 애초에 접근자체를 나중에 indexOf 쓰는데아니라 num 배열의 indexOf를 모두 설정하고 나중에 반환하는 방식으로 했어야함. includes를 사용하기도 함
function solution(n, numlist) {
var answer = [];
numlist.map(c=> (c%n === 0) ? answer.push(c) : '')
return answer;
}
map을 사용해서 if 문으로 필터링했는데, 그냥 처음부터 filter 내장객체 쓰면 되었다. numlist.filter(c => c % n === 0)
function solution(n) {
return [...(n+'')].reduce((acc, cur) => acc + Number(cur), 0)
}
대부분 toString을 쓴 뒤 split으로 만들어서 배열로 만들더라. 나의 답은 숫자에 + ''하면 문자열로 바뀌고 그걸 배열에 나머지 연산자로 넣어줌
function solution(quiz) {
let answer = [];
for(i =0; i<quiz.length; i++){
var a = quiz[i].split(' ')
if(a[1] == '-'){
(a[0] - a[2] == a[4]) ? answer.push("O") : answer.push("X")
} else if(a[1] == '+'){
(Number(a[0]) + Number(a[2]) == a[4]) ? answer.push("O") : answer.push("X")
}
}
return answer
}
문제푸는 거다보니 풀리면 장땡이지만 eval() 사용하지 말래서 최대한 쪼개서 풀어보았다. 참고로
eval(string)
은 문자열으로 작성된 수식을 숫자로 반환해주는 함수