728x90
코드 힌트
방법 1: 인덱스를 저장해서 배열을 잘라내기
- 시작 및 끝 인덱스 저장: 배열의 시작과 끝 인덱스를 저장합니다.
- 결과 배열 초기화: 시작 인덱스부터 끝 인덱스까지의 요소 개수를 계산하여 결과 배열(result)의 크기를 초기화합니다.
- 배열 요소 복사: for 루프를 사용하여 시작 인덱스부터 끝 인덱스까지의 요소를 순회하며 결과 배열에 복사합니다.
방법 2: copyOfRange() 메소드를 사용해서 배열을 잘라내기
import java.util.Arrays;
class Solution {
public int[] sliceArrayUsingCopyOfRange(int[] arr, int startIndex, int endIndex) {
// 배열 복사 (copyOfRange() 사용)
int[] result = Arrays.copyOfRange(arr, startIndex, endIndex + 1);
return result;
}
}
- copyOfRange() 사용: Arrays.copyOfRange() 메서드를 사용하여 원본 배열(arr)에서 지정된 범위(startIndex부터 endIndex까지)의 요소를 복사합니다.
- 자동 크기 조정: copyOfRange() 메서드는 자동으로 시작 인덱스부터 끝 인덱스까지의 요소를 복사하여 새 배열을 생성하며, 복사된 배열의 크기는 (endIndex - startIndex + 1)이 됩니다.
정답은 더보기 클릭
더보기
인덱스로 배열 잘라내기
import java.util.*;
class Solution {
public String[] solution(String[] str_list) {
// 결과를 담을 리스트를 생성
List<String> list = new ArrayList<>();
// s: 시작 인덱스, e: 끝 인덱스
int s = 0;
int e = 0;
// 문자열 배열을 순회하며 'l' 또는 'r'을 찾기
for (int i = 0; i < str_list.length; i++) {
// 'l'을 찾으면 현재 인덱스를 끝 인덱스로 설정하고 루프를 종료
if (str_list[i].equals("l")) {
e = i;
break;
}
// 'r'을 찾으면 다음 인덱스를 시작 인덱스로 설정하고 끝 인덱스를 배열의 끝으로 설정
else if (str_list[i].equals("r")) {
s = i + 1;
e = str_list.length;
break;
}
}
// 결과 배열을 필요한 크기로 초기화
String[] result = new String[e - s];
// 결과 배열에 지정된 범위의 문자열을 복사
int index = 0;
for (int i = s; i < e; i++) {
result[index++] = str_list[i];
}
return result;
}
}
copyOfRange() 사용해서 배열 자르기
import java.util.*;
class Solution {
public String[] solution(String[] str_list) {
// str_list 배열을 순회하여 "l" 또는 "r"을 찾음
for (int i = 0; i < str_list.length; i++) {
// "l"을 찾으면 그 인덱스까지의 부분 배열을 반환
if (str_list[i].equals("l")) {
return Arrays.copyOfRange(str_list, 0, i);
}
// "r"을 찾으면 그 인덱스 다음부터 끝까지의 부분 배열을 반환
else if (str_list[i].equals("r")) {
return Arrays.copyOfRange(str_list, i + 1, str_list.length);
}
}
// "l"이나 "r"이 없는 경우 빈 배열 반환
return new String[0];
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 중복된 문자 제거 (0) | 2024.08.08 |
---|---|
[프로그래머스] 수열과 구간 쿼리 1 (0) | 2024.08.08 |
[프로그래머스] 문자열 잘라서 정렬하기 (0) | 2024.08.08 |
[프로그래머스] 배열 조각하기 (0) | 2024.08.06 |
[프로그래머스] 리스트 자르기 (0) | 2024.08.06 |