문제
내 풀이
public static int[] solution(int l, int r)
{
boolean flag = true;
int count = 0; // 배열 크기 구할 변수
int[] answer;
for(int a = l; a <= r; a++)
{
// a 의 자리수 구하기
String num = String.valueOf(a);
int leng = num.length();
// 자리수만큼 돌면서 5 또는 0인지 확인
for(int i = 0; i < leng; i++)
{
if(num.charAt(i) == '5' || num.charAt(i) == '0')
flag = true;
else
{
flag = false;
break;
}
}
// flag 가 true라면 모두 5 또는 0 이므로 숫자세기
if(flag)
count++;
}
// 담을 배열 선언
if(count > 0)
answer = new int[count];
else
{
answer = new int[1];
answer[0] = -1;
}
int j = 0;
// 배열에 값 넣어주기
for(int a = l; a <= r; a++)
{
String num = String.valueOf(a);
int leng = num.length();
for(int i = 0; i < leng; i++)
{
if(num.charAt(i) == '5' || num.charAt(i) == '0')
flag = true;
else
{
flag = false;
break;
}
}
if(flag)
{
answer[j] = a;
j++;
}
}
return answer;
}
다른 풀이
public static int[] solution(int l, int r)
{
boolean flag = true;
ArrayList<Integer> list = new ArrayList<Integer>();
int count = 0; // 배열 크기 구할 변수
int[] answer;
for(int a = l; a <= r; a++)
{
// a 의 자리수 구하기
String num = String.valueOf(a);
int leng = num.length();
// 자리수만큼 돌면서 5 또는 0인지 확인
for(int i = 0; i < leng; i++)
{
if(num.charAt(i) == '5' || num.charAt(i) == '0')
flag = true;
else
{
flag = false;
break;
}
}
// flag 가 true라면 모두 5 또는 0 이므로 넣어주기
if(flag)
list.add(a);
}
if(list.size() > 0)
{
answer = new int[list.size()];
for(int i = 0; i < list.size(); i++)
{
answer[i] = list.get(i);
}
}
else
{
answer = new int[1];
answer[0] = -1;
}
return answer;
}