배열 자르기

Wook·2024년 8월 21일

🧩코딩테스트

목록 보기
16/46
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]

생각할 점

  • Arrays에 저장된 메서드를 이용하는 것이 제일 간단
  • 메서드가 사용되지 않아서 반복문으로 구함
    -복사할 배열 생성
    -배열의 0번 인덱스부터 기존 배열의 num1번 인덱스 값을 할당 -> 반복문 사용
    -0번부터 1씩 증가하며 넣을 수 있도록 count 변수 생성
    -num1부터 1씩 증가하며 num2와 같아질 때까지 반복

작성 코드

public class Solution {
    public int[] sol1(int[] numbers, int num1, int num2){
        return Arrays.copyOfRange(numbers,num1,num2+1);
    }
    
    public int[] sol2(int[] numbers, int num1, int num2){
        int[] answer = new int[num2 - num1 + 1];
        int count = 0;
        while (num1 <= num2) {
            answer[count] = numbers[num1];
            num1++;
            count++;
        }
        return answer;
    }
profile
Keep going

0개의 댓글