[알고리즘]배열조작하기

정재성·2022년 5월 1일
0
post-thumbnail

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

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]
function divideArrayInHalf(array) {
    let result = []; //결과를 넣을 빈 배열 만들기
      for(let i = array.length; i >= 0; i--) {//배열의 길이부터 0까지 역순으로 for루프 
        //(재구성이 되는 순서는 배열의 맨뒤부터)
    if(array[i] <= 10){//만약 array[i] 가 10보다 같거나 작다면
        result.unshift(array[i])	//요소의 맨 앞에 위치시켜라
  }else if(array[i] > 10){//10보다 크면

      result.push(array[i]);//array의 맨 뒤에 위치시켜라
  }
  }
  return result
}  
console.log(divideArrayInHalf([1,3,5,10,20,4,2]))

공부할때 새로 배운것들

let cities = [];
cities.push("경주", "전주");
cities.unshift("인천");

push() , unshift() 메소드는 배열에 요소를 추가해주는 함수입니다.
둘의 차이는 요소들이 배열에 추가되는 위치가 다르다는 것 입니다.

push 는 배열의 마지막 부분, 즉 꼬리에 요소들을 추가하고,
unshift는 배열의 맨 앞부분, 즉 머리 부분에 요소를 추가합니다.

cities.pop();
console.log(cities)

pop 메소드를 사용하면 마지막 요소가 제거되고, 마지막 요소의 값을 반환합니다. (전주가 배열에서 삭제되고 ,전주가 리턴된다)

	
profile
기술블로그 / 일상블로그

0개의 댓글