곽로그

*[프로그래머스 level1] 나누어떨어지는 숫자배열 본문

알고리즘/프로그래머스

*[프로그래머스 level1] 나누어떨어지는 숫자배열

일도이동 2019. 12. 15. 22:09
반응형
import java.util.ArrayList;
import java.util.Arrays;
class Solution {
  public int[] solution(int[] arr, int divisor) {
      	ArrayList<Integer> tempAnswer=new ArrayList<Integer>();
		
		//나누어떨어지는지 확인
		for(int i=0;i<arr.length;i++) {
			if(arr[i]%divisor==0) {
				tempAnswer.add(arr[i]);
			}
		}
		
		//tempAnswer의 size가 0이면 -1 삽입
		if(tempAnswer.size()==0) {
			tempAnswer.add(-1);
		}
		
		//ArrayList를 배열로 
		int[] answer=new int[tempAnswer.size()];
		for(int i=0;i<answer.length;i++) {
			answer[i]=tempAnswer.get(i);
		}
      
		Arrays.sort(answer);
        return answer;
  }
}

 

 

다른 풀이

class Divisible {
    public int[] divisible(int[] array, int divisor) {
        //ret에 array에 포함된 정수중, divisor로 나누어 떨어지는 숫자를 순서대로 넣으세요.
        return Arrays.stream(array).filter(factor -> factor % divisor == 0).toArray();
    }
    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        Divisible div = new Divisible();
        int[] array = {5, 9, 7, 10};
        System.out.println( Arrays.toString( div.divisible(array, 5) ));
    }
}

 

반응형
Comments