정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.
import java.util.*;
class Solution {
public int[] solution(int l, int r) {
List<Integer> list = new ArrayList<>();
for(int i=l; i<=r; i++){
if(fz(Integer.toString(i))){
list.add(i);
}
}
if(list.size()==0){
return new int[]{-1};
}
int[] answer = new int[list.size()];
for (int i = 0; i <answer.length ; i++) {
answer[i]=list.get(i);
}
return answer;
}
public Boolean fz(String n){
for (int i = 0; i < n.length(); i++) {
if(n.charAt(i) !='5' && n.charAt(i) !='0'){
return false;
}
}
return true;
}
}
주어진 범위 안에서 숫자들을 String 형태로 바꿔서
그 String 이 5 랑 0으로만 이루어져있는지 판별해주는 fz 함수를 통해서
걸러진 것들만 list 에 넣어서 그 리스트 대로 답변으로 변환해주면 끝이다.!!!