[프로그래머스/181894] 2의 영역
in Study / Coding Test
☑️ 문제
☑️ 풀이
arr
에서 원소가 2인 모든 인덱스를 저장하는 List인index
를 하나 생성했고,index
의 크기로 케이스를 나누어서 구간을 리턴했다.
//시간: 15.86ms
//메모리: 102MB
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
List<Integer> list = new ArrayList<>();
List<Integer> index = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 2) {
index.add(i);
}
}
if (index.size() >= 2) {
for (int i = index.get(0); i <= index.get(index.size() - 1); i++) {
list.add(arr[i]);
}
} else if (index.size() == 1) {
list.add(2);
} else if (index.size() == 0) {
list.add(-1);
}
int[] answer = new int[list.size()];
for (int i = 0 ; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}