목차
#1 n번째 원소부터.
문제설명
제한사항
입출력 예
#2 코드 및 알고리즘
코드 1 -> 메소드 사용 X
class Solution {
public int[] solution(int[] num_list, int n) {
n -= 1;
int len = num_list.length - n; // n번째 원소부터 num_list의 원소의 갯수까지
int[] num_arr = new int[len]; // 저장할 정수 배열 생성.
for(int i = n; i < num_list.length; i++)
num_arr[i-n] = num_list[i];
return num_arr;
}
}
풀이:
1. n -= 1; 하는 이유는 배열은 인덱스 0부터 시작하며 문제상에서 주어지는 n은 인덱스 1을 시작을 기준으로하기 때문이다.
2. for문 안의 i - n도 마찬가지이다 배열의 인덱스 0번째부터 저장을 시작하기 위해서이다.
코드 2 -> 메소드 사용 O
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list, int n) {
int[] num_arr = Arrays.copyOfRange(num_list, n - 1, num_list.length);
return num_arr;
}
}
#3 Arrays.copyOfRange(원본, 복사 시작 위치, 배열의 크기);
특정 범위 배열을 복사하는데 사용하는 메소드로 원하는 범위만큼 지정하여 새로운 배열을 만드는 메소드이다.
class FirstJava {
public static void main(String[] args) {
int[] num_list = {0, 1, 2, 3, 4, 5};
int[] num_arr = Arrays.copyOfRange(num_list, from: 1, to: 6);
// 끝나는 위치 to: 다음에 6 대신 num_list.length를 넣어도된다!
System.out.println("원본 : " + Arrays.toString(num_list));
System.out.println("수정본 : " + Arrays.toString(num_arr));
}
}
------------------------------------------------------------------------
원본 : [0, 1, 2, 3, 4, 5]
수정본 : [1, 2, 3, 4, 5]
#4 결과 및 테스트 실행 결과
class FirstJava {
public static void main(String[] args) {
int[] num_list = {5, 2, 1, 7, 5};
int n = 2; n -= 1;// 배열의 인덱스를 0부터 시작하기위해 1감소 밑에 코드를 보면 알 수 있다.
int len = num_list.length - n;
int[] num_arr = new int[len];
for(int i = n; i < num_list.length; i++)
num_arr[i-n] = num_list[i];
System.out.println("원본 : " + Arrays.toString(num_list));
System.out.println("수정본 : " + Arrays.toString(num_arr));
}
}
-------------------------------------------------------------------------------------
원본 : [5, 2, 1, 7, 5]
수정본 : [2, 1, 7, 5]
테스트 1 〉 통과 (0.01ms, 74.1MB)
테스트 2 〉 통과 (0.02ms, 75.6MB)
테스트 3 〉 통과 (0.02ms, 77.4MB)
테스트 4 〉 통과 (0.02ms, 75.7MB)
테스트 5 〉 통과 (0.03ms, 73.2MB)
테스트 6 〉 통과 (0.03ms, 77.6MB)
테스트 7 〉 통과 (0.03ms, 77.3MB)
테스트 8 〉 통과 (0.03ms, 79.2MB)
테스트 9 〉 통과 (0.01ms, 72.7MB)
테스트 10 〉 통과 (0.01ms, 78.3MB)
테스트 11 〉 통과 (0.01ms, 77.1MB)
테스트 12 〉 통과 (0.02ms, 75.2MB)
테스트 13 〉 통과 (0.02ms, 75.4MB)
테스트 14 〉 통과 (0.01ms, 75.8MB)
테스트 15 〉 통과 (0.02ms, 68.4MB)
테스트 16 〉 통과 (0.02ms, 65.6MB)
테스트 17 〉 통과 (0.02ms, 77.1MB)
테스트 18 〉 통과 (0.02ms, 75.9MB)
테스트 19 〉 통과 (0.04ms, 80.7MB)
테스트 20 〉 통과 (0.02ms, 79MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
'JAVA > 프로그래머스 코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스, LV.0] 조건 문자열 (0) | 2023.05.16 |
---|---|
[프로그래머스. LV.0] 배열 조각하기 (2) | 2023.05.16 |
[프로그래머스, LV.0] rny_string (2) | 2023.05.15 |
[프로그래머스, LV.0] 정수를 나선형으로 배치하기 (0) | 2023.05.14 |
[프로그래머스, LV.0] 카운트 다운 -> 배열 생성 new 연산자 (0) | 2023.04.15 |