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 | 31 |
Tags
- 배열뒤집기
- MPA
- Javascript
- 코딩문제
- 코딩입문
- 프레임워크
- 코딩연습
- 오름차순
- threejs
- map함수
- react
- 코딩테스트
- 코딩
- 자바스크립
- CSS
- React-Three-Fiber
- 코딩공부
- 리엑트
- 헬스
- for문
- codingtest
- 프로그래머스
- 머쓱이
- 반복문
- 웹팩
- 운동
- axios
- 자바스크립트
- Programmers
- reduce함수
Archives
- Today
- Total
SG의 개발 공부로그
배열 자르기 [프로그래머스 코딩테스트 자바스크립트] 본문
728x90
배열 자르기
문제 설명
정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때,
numbers의 num1번째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을
return 하도록 solution 함수를 완성해 보세요.
제한사항
- 2 ≤ numbers의 길이 ≤ 30
- 0 ≤ numbers의 원소 ≤ 1,000
- 0 ≤num1 < num2 < numbers의 길이
입출력 예
numbers | num1 | num2 | result |
[1, 2, 3, 4, 5] | 1 | 3 | [2, 3, 4] |
[1, 3, 5] | 1 | 2 | [3, 5] |
입출력 예 설명
입출력 예 #1
- [1, 2, 3, 4, 5]의 1번째 인덱스 2부터 3번째 인덱스 4까지 자른 [2, 3, 4]를 return 합니다.
입출력 예 #2
- [1, 3, 5]의 1번째 인덱스 3부터 2번째 인덱스 5까지 자른 [3, 5]를 return 합니다.
풀이
slice 함수를 사용해서 잘라 주었다.
num1 번째 인덱스부터 num2 번째 인덱스까지 자른다.
하지만 주의할 점이 첫 번째 인자로 넘어온 인덱스가 가리키는 값은 포함되지만,
두 번째 인자로 넘어온 종료 인덱스가 가리키는 값은 포함되지 않기 때문에 +1을 더해주었다.
function solution(numbers, num1, num2) {
let answer = [];
answer = numbers.slice(num1, num2+1);
return answer
}
다른 풀이
splice를 사용해서도 가능하다.
slice와 splice 가 단어도 비슷하고 자르다는 비슷한 기능 때문에 햇갈릴 때가 많다.
차이점에 대해서는 링크 참고 https://www.daleseo.com/js-array-slice-splice/
function solution(numbers, num1, num2) {
return numbers.splice(num1, num2-num1+1);
}
반복문을 활용해서 풀이한 방식이다.
시작점을 num1으로 하고 num2 + 1까지 반복문을 돌려서
numbers [i]로 인댁스에 해당하는 요소를 배열에 푸시해 주었다.
function solution(numbers, num1, num2) {
let answer = [];
for (let i = num1; i < num2+1; i++) {
answer.push(numbers[i])
}
return answer;
}
728x90
'CodingTest' 카테고리의 다른 글
양꼬치 [프로그래머스 코딩테스트 자바스크립트] (2) | 2023.02.11 |
---|---|
아이스 아메리카노 [프로그래머스 코딩테스트 자바스크립트] (0) | 2023.02.06 |
점의 위치 구하기 [프로그래머스 코딩테스트 자바스크립트] (0) | 2023.02.01 |
배열 원소의 길이 [프로그래머스 코딩테스트 자바스크립트] (0) | 2023.02.01 |
짝수 홀수 개수 [프로그래머스 코딩테스트 자바스크립트] (0) | 2023.02.01 |