🛫 Programmers School에서 배열 자르기 문제 풀이 과정에서 효율적인 코드 정리를 위하여 작성
변수 2개(1, 3)를 전달 받았을때 배열의 인덱스가 1~3인 부분만 자르는 문제였음
나는 아래와 같이 코드 작성 -> 정답이지만 더 효율적인 코드가 있어 정리 시작!class Solution { public int[] solution(int[] numbers, int num1, int num2) { int[] answer = new int[indx(num1, num2)]; int cnt = 0; if (0<numbers.length && numbers.length<=100){ for (int i=num1; i<=num2; i++){ if (0<=numbers[i] && numbers[i]<=1000){ answer[cnt] = numbers[i]; cnt++; } } } return answer; } public static int indx(int num1, int num2){ int indx = 0; indx = num2-num1+1; return indx; } }
title과 같이 특정 범위 배열을 복사할 수 있는 메소드 함수
Arrays.copyOfRange을 사용하면 위 문제를 한줄에 풀 수 있음!!!// 사용방법 import java.util.*; return Arrays.copyOfRange(배열,시작 인덱스,마지막 인덱스+1)
ps. 계속해서 글의 포맷을 정리하고 있어서
매번 다른 포맷으로 작성되는게 마음에 걸리지만
언젠가는 맘에 드는 포맷으로 자리 잡아야지!