거인의 코딩일지
[Lv.0_Java] 배열 만들기 2 본문
728x90
import java.util.*;
class Solution {
public int[] solution(int l, int r) {
ArrayList<Integer> list = new ArrayList<>();
int a = 0;
for(int i = l; i <= r; i++) {
String num = String.valueOf(i);
String[] number = num.split("");
int numLength = number.length;
int count = 0;
for (int j = 0; j < numLength; j++) {
if (number[j].equals("0") || number[j].equals("5")) {
count++;
}
}
if(count == numLength) {
list.add(i);
}
}
int[] answer = list.stream().mapToInt(i -> i).toArray();
if(answer.length == 0) {
int[] result = {-1};
return result;
}
return answer;
}
}
우선 LIST를 생성해준 뒤 l 부터 r 까지의 int를 for 반복문을 통해서 가져온 뒤 String 로 변환 후 한자리가 넘는 int 를 구분하기 위하여 count 변수를 선언 한뒤 0이나 5를 가지고 있는 것이 있을 경우 count 를 늘려주고 그 뒤 해당 숫자의 자릿수와 비교하여 같다면 list 에 추가 하였다.
그 뒤 list 에 있는 값을 int 로 형변환 해주며 array 로 넣어준뒤
그 후 배열의 길이가 0인 값은 배열을 새로 생성하여 -1 을 부여하여 생성하여 문제를 해결하였다.
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181921
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[LV.0_JAVA] [PCCE 기출문제] 2번 / 피타고라스의 정리 (1) | 2024.06.09 |
---|---|
[Lv.1_JAVA] 최소 직사각형 (0) | 2024.04.22 |
[LV.0_JAVA] 두 수의 합 (0) | 2023.12.17 |
[Lv.0_JAVA] 글자 지우기 (0) | 2023.10.30 |
[Lv.0_JAVA] 문자 개수 세기 (0) | 2023.10.28 |