프로그래머스(JavaScript)/Lv0

[프로그래머스 : 코딩 기초 트레이닝] Lv0. 조건에 맞게 수열 변환하기 3(JavaScript)

지미지민 2024. 2. 27. 01:47

💜 문제 설명


정수 배열 arr와 자연수 k가 주어집니다.

만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다.

이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요.


💜 제한 사항


  • 1 ≤ arr의 길이 ≤ 1,000,000
    • 1 ≤ arr의 원소의 값 ≤ 100
  • 1 ≤ k ≤ 100

 

💜 입출력 예

arr k result
[1, 2, 3, 100, 99, 98] 3 [3, 6, 9, 300, 297, 294]
[1, 2, 3, 100, 99, 98] 2 [3, 4, 5, 102, 101, 100]

💜 입출력 예 설명



입출력 예 #1

  • 주어진 k인 3은 홀수이므로, 전체 배열에 3을 곱합니다. 따라서 [3, 6, 9, 300, 297, 294]을 return 합니다.

입출력 예 #2

  • 주어진 k인 2는 짝수이므로, 전체 배열에 2를 더합니다. 따라서 [3, 4, 5, 102, 101, 100]을 return 합니다.

 

💜 코드 및 설명


function solution(arr, k) {
    let answer = [];
    for(let i of arr){
        if(k % 2===1){
            // 빈배열 answer을 push 해줌
            // 배열 arr의 i의 값에 k만큼 곱해준다.
            answer.push(i * k);
        }else{
            // 빈배열 answer을 push 해줌
            // 배열 arr의 i의 값에 k만큼 더해준다.
            answer.push(i + k);
        }
        
        
    }
    return answer;
}

 

💜 실행 결과


 

💜 다른 사람의 풀이


const solution = (arr, k) => arr.map(v => k % 2 ? v * k : v + k)