array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
1. 처음에 짠 코드
package javaPractice_naver;
import java.util.Arrays;
public class 나누어떨어지는숫자배열 {
public static void main(String[] args) {
int[] arr = {10, 9, 7, 5};
int two = 0;
int divisor = 5;
int count = 0;
for(int i = 0; i < arr.length; i++)
{
if(arr[i] % divisor == 0)
{
count++;
}
}
int[] answer = new int[count];
for(int i = 0; i < arr.length; i++)
{
if(arr[i] % divisor == 0)
{
answer[two++] = arr[i];
}
}
Arrays.sort(answer);
System.out.println(Arrays.toString(answer));
}
}
으악 끝
나
먼저 오름차순으로 출력해야하므로 오름차순으로 바꿔준다.
use배열을 만들어서 만약, 나누어떨어진다면 true값으로 만들어주고 size++을 한다. -> 이때, 오름차순으로 알아서 정렬된다.
처음부터 끝까지 검사를 완료하고 나면, size = 0이면 -1을 리턴해주고 아니라면, size만큼의 배열을 만들어서
true에 해당하는 값들을 re배열에 넣어서 출력해준다.
다른사람
나누어떨어지는 만큼 count해주고 배열을 만든후 나누어떨어지는값들을 다시 넣는다.
느낀점
나는 나누어떨어진것을 true로 바꿔줬는데 그럴 필요가 없다. 애초에 나누어떨어지는 것들만 다시 확인해서 넣어주면 되니깐.
'이제는 사용하지 않는 공부방 > Java' 카테고리의 다른 글
수박수박수, 프로그래머스 문제 (0) | 2019.04.15 |
---|---|
k번째 수, 프로그래머스 문제 (0) | 2019.04.15 |
Java 자바에서 배열을 역순으로 바꾸는 방법 (0) | 2019.04.15 |
모의고사 , 프로그래머스 문제 (0) | 2019.04.15 |
완주하지 못한 선수, 프로그래머스 문제 (0) | 2019.04.14 |