Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- teamproject
- useEffect
- javascript
- React-native
- toy project
- project
- miniproject
- 구조분해할당
- 문제
- 리액트네이티브
- 이중map
- wescanner
- 처음부터 배포까지
- JS
- wecode
- mini
- TIL
- ToyProject
- 다음은 메인페이지
- html
- useForm
- react-hook-form
- 다중map
- 일본 우편번호 api
- Threppa
- Tanstack Query
- React
- next.js
- 팀프로젝트
- css
Archives
- Today
- Total
블로그 이름을 입력해주세요
[JS] 배열(array)의 요소 조작 문제 풀어보기 본문
배열의 요소를 가지고 문제를 풀어 봅니다
문제)
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 = [];
// 코드 작성~
return result;
}
풀이)
function divideArrayInHalf(array) {
let result = []; // 1
for (let i = 0; i < array.length; i++) { // 2
const c = array.pop(); // 3
if (c <= 10) { // 4
result.unshift(c); // 5
} else {
result.push(c); // 6
}
}
return result;
}
divideArrayInHalf([1, 20, 10, 5, 100]);
1. result에 빈 배열(array)을 만들어 줍니다
2. for문을 사용합니다 for문의 괄호 안에는 (초기식, 조건식, 증감식)이 들어갑니다
3. for (i = 0;으로 초기화, array배열의 요소 길이보다 i가 작다면 배열의 길이 요소만큼 i를 1씩 더해줍니다)
4. 저는 배열의 pop(); 메서드를 사용하겠습니다 pop()은 배열의 가장 마지막 요소를 빼면서 그 값을 반환합니다
5. if문을 통해 조건식을 주어 만약 pop()으로 반환된 배열의 마지막 요소가 10보다 작거나 같다면 result빈 배열의 unshift(c)
앞으로 붙이기
6. 아니면 result라는 빈배열의 push(c) 제일 뒤에 붙이기입니다
'javaScript' 카테고리의 다른 글
[JS] javascript DOM이란? (0) | 2022.05.30 |
---|---|
[JS] javascript 자바스크립트 버튼 클릭 시 페이지 이동 (0) | 2022.05.30 |
[React / javascript] React 시작하기 (0) | 2022.05.21 |
[JS / javascript] scroll X, Y 값 구해보기 (0) | 2022.05.03 |
[JS / javascript] if문 조건식 한번에 여러개 비교하기 (2) | 2022.04.30 |