[프로그래머스] 조건에 맞게 수열 변환하기 3

백승연·2024년 1월 2일
0

프로그래머스 - Lv. 0

목록 보기
32/60
post-thumbnail

🗒️ 문제

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

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

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


제한 사항

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

입출력 예

arrkresult
[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) {
    if (k % 2 == 1) {
        return arr.map((el) => el * k);
    } else {
        return arr.map((el) => el + k);
    }
}

💡 다른 사람들의 풀이

# 1

중괄호 생략 시 return 생략 가능

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

# 2

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



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글