조건에 맞게 수열 변환하기 3

정수 배열 arr와 자연수 k가 주어집니다. 만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다. 이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요.

조건에 맞게 수열 변환하기 3Lv.0

181835

https://school.programmers.co.kr/learn/courses/30/lessons/181835?language=javascript

해설

solution이라는 함수를 정의하고, 이 함수는 두 개의 매개변수 arr과 k를 받습니다. 이 함수는 arr 배열의 각 요소를 조건에 따라 변환하여 새로운 배열을 반환합니다. 이 코드는 기존의 코드를 개선하여 간결하게 작성되었습니다.

  • Name
    map 메서드를 사용
    Type
    Description

    arr 배열의 각 요소에 함수를 적용하고, 이를 통해 새로운 배열을 생성합니다. map 메서드는 배열의 각 요소를 변환하고 그 결과를 새 배열에 저장하는데 사용됩니다.

  • Name
    item => (k % 2 === 0) ? item + k : item * k
    Type
    Description
    • k % 2 === 0: k를 2로 나눈 나머지가 0인지 확인합니다. 이것은 k가 짝수인지 여부를 판단합니다.
    • (k % 2 === 0) ? item + k : item * k: 만약 k가 짝수라면 현재 요소 item에 k를 더한 값을 반환하고, 그렇지 않으면 item에 k를 곱한 값을 반환합니다. 이것은 주어진 조건에 따라 각 요소를 변환하는 로직입니다.

조건에 따라 변환된 요소로 이루어진 새 배열을 반환할 수 있습니다.

조건에 맞게 수열 변환하기 3

function solution(arr, k) {
    return arr.map(item => (k % 2 === 0) ? item + k : item * k);
}

조건에 맞게 수열 변환하기 3-2

function solution(arr, k) {
    let answer = [];

    for(let i = 0; i < arr.length; i++){
        if(k % 2 === 0){
            answer.push(arr[i] + k);
        } else {
            answer.push(arr[i] * k);
        }
    }
    return answer;
}