🧑💻
이어 붙인 수
February 07, 2024
문제
정수가 담긴 리스트 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 |
입출력 예 설명
입출력 예 #1
- 홀수만 이어 붙인 수는 351이고 짝수만 이어 붙인 수는 42입니다. 두 수의 합은 393입니다.
입출력 예 #2
- 홀수만 이어 붙인 수는 573이고 짝수만 이어 붙인 수는 8입니다. 두 수의 합은 581입니다.
코드
function solution(num_list) {
const a = num_list.filter((el) => el % 2 === 1);
console.log(a);
// [ 3, 5, 1]
const b = num_list.filter((el) => el % 2 === 0);
console.log(b);
// [ 5, 7, 3]
return Number(a.join('')) + Number(b.join(''));
}JS 함수
filter() 함수
-
자바스크립트에서 filter 는 배열에 사용하며, 주어진 함수를 만족하는 모든 요소를 모아 새 배열로 반환한다.
-
위 코드를 console.log로 값을 확인하면
console.log(a) // [ 3, 5, 1 ] console.log(b) // [ 5, 7, 3 ]
코드 해설
- num_list라는 배열을 인자로 받는 함수 solution을 선언한다.
- 배열
num_list에서 홀수만 필터링하여 새로운 배열a를 생성한다. - 배열
num_list에서 짝수만 필터링하여 새로운 배열b를 생성한다. - 배열안에 숫자를 배열이 아닌
String형식으로 이어 붙인 상태로 불러오기 위해선join('')을 이용하면 된다. - 새 배열로 반환 했기 때문에
Number Type으로 형 변환 시켜서 원하는 값을 구한다.