function solution(message) {
return message.length * 2;
}
반복문을 통해 두 개씩 비교하면서 가장 큰 값을 찾았다.
function solution(array) {
var answer = [];
for(i=0;i<array.length-1;i++){
if(array[i] > array[i+1]){
answer = [array[i],i];
}else{
answer = [array[i+1],i+1];
}
}
return answer;
}
Math.max()를 이용해 최댓값을 찾고, indexOf를 이용해 최댓값의 index를 찾아주면 더 빨리 풀 수 있다.
function solution(array) {
let max = Math.max(...array);
return [max, array.indexOf(max)];
}
eval()
을 쓰면 아주 간단하게 해결된다.
하지만 실행 속도도 느리고 보안 문제도 있어서 권장하는 방식은 아닌듯 하다.
eval 참고 문서
function solution(my_string) {
return eval(my_string);
}
eval() 기능을 해주는 함수를 대신 만들 수 있다.
function solution(my_string) {
return Function(`return ${my_string}`)()
}
forEach 반복문을 두 번 돌려 각 배열의 원소 값이 일치하면 카운트를 증가시키는 방식으로 풀었다.
function solution(s1, s2) {
let answer = 0;
s1.forEach(n => s2.forEach(x => x === n ? answer+=1 : 0));
return answer;
}
includes를 통해 동일한 값만 filter하여 개수를 구하는 방식으로 풀면 더 간략하게 풀 수 있다.
(원래 filter를 이용하려고 했는데 includes를 이용하는게 생각이 안났음.)
function solution(s1, s2) {
return s1.filter((v) => s2.includes(v)).length;
}