JS repl.it 17. 배열 조작하기

김형석·2022년 4월 27일
0

WECODE

목록 보기
4/33

Assignment

divideArrayInHalf 함수를 다음과 같이 구현해주세요.

divideArrayInHalf 함수는 array를 인자로 받습니다. 이 array는 숫자 값으로 만 구성되어 있으며 총 5개의 요소(element)들로 구성되어 있습니다.

  • divideArrayInHalf 함수는 인자로 들어온 array 로 부터 새롭게 구성된 배열 result 을 리턴합니다.
  • array 요소들 중 10과 같거나 작은 값의 요소들은 result의 맨 앞으로, 10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴 해주세요.
  • 재구성이 되는 순서는 array의 맨 뒤 요소부터 맨 앞 요소까지 입니다. 즉, 배열의 뒷 요소 부터 재구성을 진행해주세요.
  • 예를 들어, 인자로 들어오는 array가 다음과 같을 때,
    [1, 20, 10, 5, 100]
    result 배열이 만들어 지는 순서는 다음과 같습니다.
  [100]
  [5, 100]
  [10, 5, 100]
  [10, 5, 100, 20]
  [1, 10, 5, 100, 20]

따라서 아래와 같은 result가 리턴 되어야 합니다.
[1, 10, 5, 100, 20]

내 코드

function divideArrayInHalf(array) {
    let result = [];
  for( let i = array.length-1; i >= 0; i--){
    if( array[i] > 10 ){
      result.push(array[i])
    }else if( array[i] <= 10 ){
      result.unshift(array[i]);
    }
  }
  return result;
}

replit은 wecode 커리큘럼 Assignment로 제출하는 것 위주로 올려보려고 한다.
위 문제는 생각보다 간단하게 풀었던 문제인듯하다.


코드가 맞으면 이렇게 뜬다.
이거 뜨면 기분 좋음, 그래서 넣어봄

배열을 재구성하기 위해 result변수에 빈 array를 넣어줬다. 반복문과 if문을 사용하여 array 요소들 중 10과 같거나 작은 값의 요소들은 result의 맨 앞으로 보내기 위해 push()를 사용, 10보다 큰 값의 요소들은 result의 맨 뒤로 보내기 위해 unshift()사용!! 쉽네

10보다 같거나 작은 값, 10보다 큰 값을 비교하는 것으로 if문을 사용할 때 else if를 사용하지 말고, else로 사용하는 것이 더 간단 할 것이다. 하지만 한방에 풀었기때문에 고치지 않을 것이다.(귀찮아서 아님)

profile
블로그 이사 : https://hengxi.tistory.com

0개의 댓글