https://programmers.co.kr/learn/courses/30/lessons/12910
문제 분석
- 배열(arr)의 요소 중 특정 숫자(divisor)로 나누어 떨어지는 값을 구하고, 나누어 떨어지는 수가 하나도 없을 때는 -1을 반환하고 나머지 경우는 sort함수를 활용하여 정렬하여 반환한다.
문제 풀이
1. for문을 통해 arr배열 중 divisor로 나누어 떨어지는 수를 list에 추가한다.
2. list의 사이즈가 0이면 정답 배열에 -1을 반환하고, 사이즈가 1이상이면 정답 배열에다가 해당하는 숫자들을 추가한다.
3. list의 사이즈가 1이상인 경우 정답 배열을 출력할 때 Arrays.sort()함수를 통해 오름차순으로 정렬하여 반환한다.
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = new int[arr.length];
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i<arr.length;i++){
if(arr[i]%divisor==0){
list.add(arr[i]);
}
}
if(list.size()==0){
answer = new int[]{-1};
}else{
answer = new int[list.size()];
for(int i=0;i<answer.length;i++){
answer[i] = list.get(i);
}
Arrays.sort(answer);
}
return answer;
}
}
'Algorithm > programmers' 카테고리의 다른 글
programmers 같은 숫자는 싫어 (0) | 2022.02.16 |
---|---|
programmers 가운데 글자 가져오기 (0) | 2022.02.16 |
programmers 두 정수 사이의 합 (0) | 2022.02.16 |
programmers 보호소에서 중성화한 동물 (0) | 2022.02.16 |
programmers 오랜 기간 보호한 동물(1) (0) | 2022.02.16 |