[프로그래머스] 배열 자르기

백승연·2023년 12월 19일
0

프로그래머스 - Lv. 0

목록 보기
24/60
post-thumbnail

🗒️ 문제

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.


제한 사항

  • 2 ≤ numbers의 길이 ≤ 30
  • 0 ≤ numbers의 원소 ≤ 1,000
  • 0 ≤num1 < num2 < numbers의 길이

입출력 예

numbersnum1num2result
[1, 2, 3, 4, 5]13[2, 3, 4]
[1, 3, 5]12[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()를 사용하여 문제 해결

function solution(numbers, num1, num2) {
    return numbers.slice(num1, num2 + 1);
}

💡 다른 사람들의 풀이

slice() 대신 splice()를 사용한 방법

# 1

function solution(numbers, num1, num2) {
    return numbers.splice(num1, num2-num1+1);
}

# 2

for문과 push()를 이용한 방법

function solution(numbers, num1, num2) {
    var answer = [];

    for (let i = num1; i < num2+1; i++) {
        answer.push(numbers[i])
    }

    return answer;
}



📝 모르는 내용 찾아보기

slice()와 splice()

slice()

slice() 함수는 특정 범위를 복사한 값들을 담는 함수이다.

splice()

splice() 함수는 특정 범위를 추가/삭제할 때 사용하는 함수이다.

slice()splice()의 가장 큰 차이점은 slice()는 원본 배열을 수정하지 않고 splice()는 원본 배열을 수정하기 때문에 주의해서 사용해야 함

profile
공부하는 벨로그

0개의 댓글