반응형
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일때 강제 할당해주는
방법으로 진행했습니다.
더 좋은 방법이 있으신분은 댓글좀 부탁할게요!
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 level1 문제 : 기능개발(java) (0) | 2018.10.11 |
---|---|
프로그래머스 level1 문제 : 완주하지 못한 선수(java) (0) | 2018.10.10 |
프로그래머스 level1 문제 : 올바른 괄호(java) (0) | 2018.06.01 |
프로그래머스 level1 문제 : 같은 숫자는 싫어 (0) | 2018.05.31 |
프로그래머스 level1 문제 : 2016년 (0) | 2018.05.28 |