정수 배열 arr에서 배열 안에 2가 모두 포함된 연속 부분 배열 return
arr에 2가 없으면 -1 return
어떻게 풀지?
for문으로 2와 같을 때의 index를 저장
index를 arr에 저장해서 맨처음 - 맨뒤 수 사용
맨처음 - 맨끝 index로 result배열에 저장해서 출력
생각보다 index가 헷갈려서 시간이 걸렸다..🥲
result를 처음에 Array로 만들었다가 헷갈려서 list -> array로 담았다.
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
// 2와 같을 때의 index 저장
ArrayList<Integer> index = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
int two = 2;
if (arr[i] == 2) {
index.add(i);
}
}
ArrayList<Integer> temp = new ArrayList<>();
if (index.size() == 0) { // 2가 없으면 -1 저장
temp.add(-1);
} else {
for (int i = index.get(0); i <= index.get(index.size() - 1); i++) {
temp.add(arr[i]);
}
}
// List -> Array로 옮겨주기
int[] result = new int[temp.size()];
for (int i = 0 ; i < temp.size(); i++) {
result[i] = temp.get(i);
}
return result;
}
}
더 쉬운 풀이가 있을 것 같아서 다른 풀이 참고하기