본문 바로가기

프로그래머스

[알고리즘] 조건에 맞게 수열 변환하기 1

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

50 보다 큰 짝수는 원래 요소 / 2

50 보다 작은 홀수는 원래 요소 * 2

 

arr result
[1, 2, 3, 100, 99, 98] [2, 2, 6, 50, 99, 49]

 

나의풀이 :

function solution(arr) {
    for(i = 0; i < arr.length; i++) {
        if(arr[i] >= 50 && arr[i] % 2 == 0) {
            arr[i] = arr[i]/2
        }else if(arr[i] < 50 && arr[i] % 2 == 1) {
            arr[i] = arr[i] * 2
        }else{
            arr[i] = arr[i]
        }
    } return arr
}

 

 

 

다른풀이:

function solution(arr) {
    return arr.map(v => v >= 50 && v % 2 == 0 ? v/2 : v < 50 && v % 2 == 1 ? v * 2 : v)
}

조건이 2개 이상인 경우 위와 같이 간단하게 작성할 수 있다.