본문 바로가기

Algorithm/프로그래머스

프로그래머스 level1 문제 : 나누어 떨어지는 숫자 배열(java)

반응형
List<Integer> integerList = new ArrayList<>();
for (int anArr : arr) {
if (anArr % divisor == 0)
integerList.add(anArr);
}

int[] answer = new int[integerList.size()];
if(integerList.size() > 0) {
for(int i=0; i<answer.length; i++) {
answer[i] = integerList.get(i);
}

int temp;
for(int i=0; i<answer.length-1; i++) {
for(int j=i+1; j<answer.length; j++) {
if(answer[i] > answer[j]) {
temp = answer[i];
answer[i] = answer[j];
answer[j] = temp;
}
}
}
} else
answer = new int[]{-1};

return answer;


이렇게 진행했습니다.


나머지가 0인 것만 list에 담아서 배열에 할당해주는 방법이고, temp를 사용한건 버블정렬을 하기 위해서입니다.


문제가


array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.


이기 때문이죠...


"오름차순" 해결 => 버블정렬

나누어 떨어지는 element가 없는 것에 대한 값 "-1"반환 -> size가 0일때 강제 할당해주는


방법으로 진행했습니다.


더 좋은 방법이 있으신분은 댓글좀 부탁할게요!

반응형