Question
https://school.programmers.co.kr/learn/courses/30/lessons/120833?language=java
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
Code
방법 1.
class Solution {
public int[] solution(int[] numbers, int num1, int num2) {
int [] answer = new int[num2 - num1 + 1];
int index = 0;
for (int i = num1; i <= num2; i++) {
answer[index] = numbers[i];
index++;
}
return answer;
}
}
* 배열 선언 및 초기화
1. 배열 선언 후 크기 지정
int[] arr = new int[5];
2. 선언과 초기화를 동시에 수행
int[] arr = {1, 2, 3, 4, 5};
➡️ 선언과 초기화를 분리할 수 없음
int[] array3;
array3 = {1, 2, 3, 4}; // 오류 발생
3. 선언 후 나중에 초기화
int[] arr;
arr = new int[5];
➡️ 배열 선언과 초기화를 분리하려면 new 키워드를 사용해야 함
int[] array3;
array3 = new int[]{1, 2, 3, 4}; // 정상
방법 2. Arrays.copyOfRange
import java.util.*;
class Solution {
public int[] solution(int[] numbers, int num1, int num2) {
int[] answer = new int[numbers.length};
answer = Arrays.copyOfRange(numbers, num1, num2 + 1);
return answer;
}
}
- Arrays.copyOfRange : Arrays.copyOfRange(복사할 배열, 복사 시작 인덱스, 배열 크기)
- 복사 시작 인덱스 (포함), 배열 크기 (복사를 끝낼 인덱스, 미포함)
- 복사 시작 인덱스 부터 배열 크기 - 1 까지의 요소들이 새로운 배열로 복사된다.
반응형
'Coding Test > Java' 카테고리의 다른 글
[프로그래머스 / Java] Lv.0 짝수 홀수 개수 (1) | 2025.04.26 |
---|---|
[프로그래머스 / Java] Lv.0 순서쌍의 개수 (1) | 2025.04.20 |
[프로그래머스 / Java] Lv.0 최댓값 만들기(1) (업데이트 중...) (0) | 2025.03.13 |
[프로그래머스 / Java] Lv.0 제곱수 판별하기 (1) | 2025.01.25 |
[프로그래머스 / Java] Lv.0 문자열 안에 문자열 (0) | 2025.01.24 |