<Programmers> 이어 붙인 수

·2024년 6월 28일
0

프로그래머스

목록 보기
3/18
post-thumbnail

문제

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


나의 풀이

  1. 홀수 배열과 짝수 배열을 나눈다.
  2. 각각 배열을 문자열로 변환한 뒤, 넘버로 변경하여 덧셈 연산 수행
function solution(num_list) {
  let evenArr = [];
  let oddArr = [];

  num_list.forEach((v) => {
    if (v % 2 === 1) {
      oddArr.push(v);
    } else {
      evenArr.push(v);
    }
  });

  return Number(evenArr.join("")) + Number(oddArr.join(""));
}

solution([3, 4, 5, 2, 1]); // 393

다른 풀이

function solution(num_list) {
    const { odds, evens } = num_list.reduce(({ odds, evens }, num) => {
        if (num % 2 === 0) {
            evens.push(num);
        } else {
            odds.push(num);
        }
        return { odds, evens };
    }, { odds: [], evens: [] });
    return Number(odds.join('')) + Number(evens.join(''));
}

.reduce() 메서드에 대하여

reduce 메서드로 다시 한 번 풀어볼 것.

profile
- 배움에는 끝이 없다.

0개의 댓글