문제)
정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ num_list의 길이 ≤ 10
- 1 ≤ num_list의 원소 ≤ 9
- num_list에는 적어도 한 개씩의 짝수와 홀수가 있습니다.
입출력 예
num_list | result |
[3, 4, 5, 2, 1] | 393 |
[5, 7, 8, 3] | 581 |
내 풀이)
function solution(num_list) {
const length = num_list.length
const evenArr = num_list.filter((item)=>item%2===0)
const oddArr = num_list.filter((item)=>item%2!==0)
return +evenArr.join('') + +oddArr.join('')
}
다른 풀이)
join() 대신에
reduce로 "string + num = string" 사용한 것이 인상깊었다
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);
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
[ JavaScript / 레벨 0 / 오답 ] 소인수분해 (1) | 2023.11.25 |
---|---|
[ JavaScript / 레벨0 / 오답 ] 이진수 더하기 (0) | 2023.10.25 |
[ JavaScript / 레벨0 / 오답 ] 특별한 이차원 배열 2 (0) | 2023.10.21 |
[ JavaScript / 레벨0 / 정답 ] 접두사인지 확인하기 (0) | 2023.10.20 |