Algorithm/Programmers

[Programmers] Lv.0 / 배열 만들기 2 / Java

unknownomad 2023. 10. 19. 00:06

문제

 

풀이

import java.util.*;

class Solution {
    public int[] solution(int l, int r) {
        
        List<Integer> numList = new ArrayList<>();
        
        for(int i = l; i <= r; i++) {
            String str = "" + i;
            int count = 0;
            
            for(int j = 0; j < str.length(); j++) {
                if(str.charAt(j) == 48 || str.charAt(j) == 53) {
                    count++;
                }
                if(count == str.length()) {
                    numList.add(i);
                }
            }
        }
        int[] answer = numList.stream().mapToInt(i -> i).toArray();
        int[] empty = {-1};
        return answer.length == 0 ? empty : answer;
    }
}
import java.util.ArrayList;

class Solution {
    public int[] solution(int l, int r) {

        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 1; i < 64; i++) {
            int num = Integer.parseInt(Integer.toBinaryString(i)) * 5;
            if (l <= num && num <= r) {
                list.add(num);
            }
        }
        return list.isEmpty() ? new int[] { -1 } : list.stream().mapToInt(i -> i).toArray();
    }
}

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181921