Lv0 프로그래머스(Programmers)[JAVA] 배열 만들기2

//출처:프로그래머스
//https://school.programmers.co.kr/learn/courses/30/lessons/181921

/*
범위의 숫자를 for문을 만든 후
해당 숫자를 string으로 변경 후
split 후 각 숫자에 대하여 0,5 진단
그리고 맞으면 append
*/

// 부족한 개념: 객체 타입 정의도 확인해보기,다이아몬드 연산자, 생성자 호출

import java.util.*; // *:라이브러리 내 모든 거 가져오기
class Solution {
public int[] solution(int l, int r) {
ArrayList<Integer> check = new ArrayList<>();

for(int i=l; i<=r; i++){
// 쪼개기 위해 한 정수 문자로 변환
String num = String.valueOf(i);
// 변환한 문자를 한 문자씩 분리(5,0만 있는 지 확인 위해서)
String[] num_split = num.split("");
//new HashSet<>(Arrays.asList(arr));
// set으로 바꾼 후 중복 제거
Set<String> num_set = new HashSet<>(Arrays.asList(num_split));
// 예시 조건
Set<String> case1 = new HashSet<>(Arrays.asList("5"));
Set<String> case2 = new HashSet<>(Arrays.asList("0"));
Set<String> case3 = new HashSet<>(Arrays.asList("0","5"));
if(num_set.equals(case1) || num_set.equals(case2) || num_set.equals(case3) ){
check.add(i);
}

}
// 자바 조건에 따라 리스트 배열로 바꾸기
int[] result = new int[check.size()];
for(int t = 0; t < check.size(); t++ ){
result[t] = check.get(t);
}
if(result.length == 0){
return new int[]{-1};
}
else{
return result;
}

}
}