프로그래머스
나누어 떨어지는 숫자 배열
업데이트 :: 2018.09.11
문제
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다.
코드
1차풀이
public int[] solution(int[] arr, int divisor) { // arr - 중복없는 자연수 // arr length - 1 이상 // divisor - 자연수 List<Integer> tempAnswer = new ArrayList<>(); for(int a : arr) { if(a % divisor == 0) tempAnswer.add(a); } // == Exception == if(tempAnswer.size() == 0) return new int[]{-1}; // == List -> Array == int[] answer = new int[tempAnswer.size()]; for(int i=0; i<tempAnswer.size(); i++) answer[i] = tempAnswer.get(i); Arrays.sort(answer); return answer; }
예제
stream API 이용
class Divisible { public int[] divisible(int[] array, int divisor) { return Arrays.stream(array).filter(factor -> factor % divisor == 0).toArray(); } }
Created by MoonsCoding
e-mail :: jm921106@gmail.com
반응형
'CS > 프로그래머스' 카테고리의 다른 글
문제 // Programmers // LEVEL1 // Sort // 문자열 내 마음대로 정렬하기 // Java (0) | 2018.09.11 |
---|---|
문제 // Programmers // LEVEL1 // Array & Math // 두 정수 사이의 합 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // Array // 같은 숫자는 싫어 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // String // 가운데 글자 가져오기 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // Date // 2016년 // Java (0) | 2018.09.11 |