[JAVA 문제 풀이] 121. 배열 만들기

프로그래머스 (181921)
Stupefyee's avatar
Mar 05, 2025
[JAVA 문제 풀이] 121. 배열 만들기
notion image
 

내가 작성한 코드

import java.util.stream.IntStream; class Solution { public int[] solution(int l, int r) { int[] answer = IntStream.rangeClosed(l, r) .filter(i -> String.valueOf(i).matches("[05]+")) // 0 또는 5로만 이루어진 문자열인지 확인 .toArray(); return answer.length == 0 ? new int[] { -1 } : answer; } }
 

다른 사람의 코드

import java.util.ArrayList; class Solution { public int[] solution(int l, int r) { // 이진법 활용 // l = 5, r = 555 // 5, 50, 55, 500, 505, 550, 555 // 1 10 11 100 101 110 111 // 1 2 3 4 5 6 7 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(); } }
 
Share article

stupefyee