[JS] 이어 붙인 수 programmers

0

코딩테스트

목록 보기
45/80
post-thumbnail

🎀 문제

정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.

function solution(num_list) {
    var answer = 0;
    return answer;
}

🎀 내 답변

function solution(num_list) {
    return Number(num_list.filter((item) => item % 2 !== 0).join('')) + Number(num_list.filter((item) => item % 2 === 0).join(''));
}

이 말도 안되는 긴 한 줄 코드를 짜면서
혼자서 웃었다면 믿으시겠어요...?

🎀 더 나은 답변

function solution(num_list) {
    var even = num_list.filter(n => n % 2 === 0).reduce((acc, cur) => acc+cur);
    var odd = num_list.filter(n => n % 2 === 1).reduce((acc, cur) => acc+cur);
    return Number(even) + Number(odd);
}

웃긴 코드를 이렇게 리펙토링 해 보았다.

profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글