이 문제는 투포인터 같이 풀긴 했는데 가장 작은 2의 인덱스와 가장 큰 인덱스를 갱신해주었다
// 인덱스가 최소 1, 최대 100000 이다
int min = 100000, max = 1;
for (int i = 0; i < arr.length; i++) {
// 값이 2일경우 갱신
if (arr[i] == 2) {
min = Math.min(min, i);
max = Math.max(max, i);
}
}
// max가 min보다 같거나 클때만 적용된다
if (min <= max) {
return Arrays.copyOfRange(arr,min,max + 1);
} else {
return new int[]{-1};
}
copyOfRange
를 사용하였다. 굉장히 유용한 api인데 아직도 잘 붙지가 않는듯