조건에 맞게 수열 변환하기 1 (with javascript)

HcKim·2024년 3월 31일

문제

나의 풀이 방법

function solution(arr) {
  let result = [];
  arr.map((item) => {
    if (item < 50 && item % 2 === 1) {
      return result.push(item * 2);
    } else if (item >= 50 && item % 2 === 0) {
      return result.push(item / 2);
    } else {
      return result.push(item);
    }
  });
  return result;
}

solution(arr)

다른 사람의 풀이


function solution(arr) {
    return arr.map(a => {
        if(a >= 50 && a %2 ===0) return Math.floor(a/2)
        if(a < 50 && a %2 === 1) return a*2
        return a
    })
}

map과 filter의 차이점이 뭐야?

map()

  • map() 함수는 배열의 각 요소에 대해 지정된 함수를 호출하고, 반환된 값을 사용하여 새로운 배열을 생성한다.

  • map() 함수를 사용하면 기존 배열과 길이가 같은 새로운 배열을 생성하며, 이 새로운 배열의 각 요소는 기존 배열의 각 요소를 변환한 값이 된다.

filter()

  • filter() 함수는 배열에서 특정 조건을 충족하는 요소만 추출하여 새로운 배열을 생성한다.

  • filter() 함수를 사용하면 새로운 배열의 길이는 기존 배열의 길이보다 작거나 같을 수 있다.

profile
Javascript를깨부시자

0개의 댓글