반응형
<문제>
![[프로그래머스] 나누어 떨어지는 숫자 배열 [프로그래머스] 나누어 떨어지는 숫자 배열](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
<작성 코드>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
package com.java.programers;
import java.util.Arrays;
public class Solution3 { // 나누어 떨어지는 숫자 배열
public static int[] solution(int[] arr, int divisor) {
int[] answer = { -1 };
int returnsize = 0;
for (int k = 0; k < arr.length; k++) { // 리턴될 배열의 크기를 지정하기 위함.
if (arr[k] % divisor == 0) {
returnsize++;
}
}
if (returnsize == 0) {
} else {
answer = new int[returnsize];
}
for (int i = 0, j = 0; i < arr.length; i++) {
if (arr[i] % divisor == 0) {
answer[j] = arr[i];
j++;
}
}
Arrays.sort(answer); // sort()함수로 배열 정렬(기본값 오름차순)
return answer;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] sample = { 8, 21, 6, 3 };
System.out.println("array: " + Arrays.toString(sample));
while (true) {
System.out.println("input divisor:");
int div = scan.nextInt();
if (div == 0) {
break;
}
System.out.println("return: " + Arrays.toString(solution(ss, div)));
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
<결과화면>
![[프로그래머스] 나누어 떨어지는 숫자 배열 [프로그래머스] 나누어 떨어지는 숫자 배열](https://blog.kakaocdn.net/dn/oz31S/btquDBxjiH0/3qQchVJjylOb28ARLVpXa0/img.png)
![[프로그래머스] 나누어 떨어지는 숫자 배열 [프로그래머스] 나누어 떨어지는 숫자 배열](https://blog.kakaocdn.net/dn/xpgYC/btquCiyU4Wg/wkXR3rccq7aqDTt7KQjUwK/img.png)
알고리즘 자체는 간단했지만 배열의 크기가 유동적이지 못해 오류가 있었다. 이를 생각하여 배열크기를 알맞게 선언해주어 오류를 안나도록 알고리즘을 구현하였다. 오름차순 정렬은 배열의 sort() 함수를 이용하였다.
*sort() 함수는 배열을 자동으로 오름차순으로 정렬시켜주는 정렬함수(한글, 영어, 숫자 etc)
sort()함수로 정렬 후 reverseArrayInt() 함수를 사용하여 내림차순으로도 정렬이 가능하다.
* Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException 오류
- 선언된 배열의 크기보다 작거나 큰 값이 들어갈때 나오는 오류
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] 콜라츠 추측 (0) | 2019.04.26 |
---|---|
[프로그래머스] 시저암호 (2) | 2019.04.23 |
[프로그래머스] 두 정수 사이의 합 (2) | 2019.04.17 |
[프로그래머스] 가운데 글자 가져오기 (1) | 2019.04.12 |
[프로그래머스] 완주하지 못한 선수 (1) | 2019.04.11 |
댓글