반응형

 

프로그래머스 코딩테스트 나누어떨어지는숫자배열 링크 : 여기를 눌러주세요.

 

프로그래머스에 있는 코딩테스트 나누어떨어지는숫자배열 라는 제목의 문제입니다.

 

 

 

 

 

 

코딩테스트 나누어떨어지는숫자배열 어떻게 풀지 생각해보기

 

파라미터로 받은 배열 각각의 index값과 2번째 파라미터로 받은 divisor이 나누어떨어지는지 확인한 후, 나누어 떨어진다면 List에 넣으려고 했습니다.

 

그리고 만약에 list의 사이즈가 0이라면 나누어 떨어진 수가 없으므로

 

리턴하는 정답배열에 -1을 넣어 리턴을 해주고,

 

그게 아니라면 list를 정렬한 뒤 answer배열에 넣어주면 됩니다!

 

List정렬은 sort를 이용하였습니다.

 

크게 어려운 문제가 아닌듯하여 이정도만 말씀드려도 될 것 같습니다.

 

아래는 정답이 공개되어 있으니 혼자 풀어보고싶으신 분들은

 

지금부터 해결해 보시면 될 것같습니다.

 

 

 

 

 

코딩테스트 통과한 소스보기

 

(점수를.. 고작 또 1점을... 하아 ㅠㅠ...)

 

역시나 크게 어려운 문제가 아닌만큼 1점밖에 주질 않네요...

 

제가 어려운 문제가 아니라했지만 아직 프로그래머스의 경험이 많이 없으신분들은

 

어려울 수 있다고 생각합니다.

 

코딩은 100번 보는것 보다 1번 직접 작성하는게 더 좋으니

 

경험을 쌓으시길 바랍니다 :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static int[] solution(int[] arr, int divisor) {
        List<Integer> list = new ArrayList<Integer>();
        for(int i=0; i<arr.length; i++) {
            if(arr[i]%divisor==0) {
                list.add(arr[i]);
            }
        }
        list.sort(null);
        if(list.size()==0) {
            int[] answer = {-1};
            return answer;
        }
        int[] answer = new int[list.size()];
 
        for(int i=0; i<list.size(); i++) {
            answer[i]=list.get(i);
        }
        System.out.println(Arrays.toString(answer));
        return answer;
    }

역시나 제가 푼 뒤에 다른사람들이 푼 코드들을 보면 한없이 초라해집니다..

 

저 또한 그분들처럼 효율적으로 코드를 짜기위해 많은 노력이 필요할 것 같습니다.

 

(사실 이 문제푸는데도 시간이 저는 꽤 걸렸네요...)

 

모든 코드에는 정답이 없으며 저 또한 코드를 잘 짜는게 아니기 때문에

 

제 코드는 참고용으로만 사용해주시면 감사하겠습니다.

 

최대한 매일매일 1개 이상의 코딩테스트 문제를 풀려고 노력중입니다.

 

아직 많이 부족해서 포스팅이 늦을 수 있으니 양해 부탁드립니다.

 

조언이나 가르침은 항상 기쁜마음으로 받겠습니다.

 

감사합니다 (_ _)

 

반응형

+ Recent posts