코딩테스트/프로그래머스 Lv. 0

[프로그래머스] Lv. 0 배열 만들기 2 JAVA

촙오 개발자 2025. 2. 4. 22:42
반응형

배열 만들기 2

 

문제 설명

 

요구사항

  • l과 r 사이의 숫자중 5또는 0으로만 구성된 숫자 구하기
  • 없을 경우 [-1] 리턴

 

테스트

package lv0;

import java.util.ArrayList;
import java.util.List;

public class 배열_만들기_2 {
	public int[] solution(int l, int r) {
        int[] answer = {};
        
        List<Integer> list = new ArrayList<Integer>();
        
        int i = l;
        
        int jump = 1;
        
        while(i <= r) {
        	
        	if(i % 5 == 0) { // 5의 배수를 만난 이후부터는 5씩 증가
        		jump = 5;
        	}
        	
        	if(String.valueOf(i).replace("5", "").replace("0", "").length() == 0) { //0과5를 ""로 치환했을대 길이가 0이면 5또느 0으로만 존재하는 숫자
        		list.add(i);
        	}
        	
        	i += jump;
        }
        
        if(list.size() == 0) {
        	answer = new int[] {-1};
        } else {
        	answer = new int[list.size()];
        	
        	for(int j = 0; j < list.size(); j++) {
        		answer[j] = list.get(j);
        	}
        }
        
        return answer;
    }
}

 

프로그래머스

import java.util.ArrayList;
import java.util.List;

class Solution {
    public int[] solution(int l, int r) {
        int[] answer = {};
        
        List<Integer> list = new ArrayList<Integer>();
        
        int i = l;
        
        int jump = 1;
        
        while(i <= r) {
        	
        	if(i % 5 == 0) {
        		jump = 5;
        	}
        	
        	if(String.valueOf(i).replace("5", "").replace("0", "").length() == 0) {
        		list.add(i);
        	}
        	
        	i += jump;
        }
        
        if(list.size() == 0) {
        	answer = new int[] {-1};
        } else {
        	answer = new int[list.size()];
        	
        	for(int j = 0; j < list.size(); j++) {
        		answer[j] = list.get(j);
        	}
        }
        
        return answer;
    }
}

 

결과

반응형