본문 바로가기
Kotlin(프로그래머스)/Level 1

[프로그래머스/Kotlin] 나누어 떨어지는 숫자 배열

by Yuno. 2022. 3. 19.
728x90

문제 링크 -> https://programmers.co.kr/learn/courses/30/lessons/12910

 

코딩테스트 연습 - 나누어 떨어지는 숫자 배열

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

programmers.co.kr

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

제한사항

  • arr은 자연수를 담은 배열입니다.
  • 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
  • divisor는 자연수입니다.
  • array는 길이 1 이상인 배열입니다.

------------------------------------------------------------풀이------------------------------------------------------------------
1. filter로 arr의 배열 요소중 divisor로 나누어떨어지는 수를 걸러내어 mutableList로 반환한다.
2. answer의 size가 0크면 정렬 후 IntArray로 형변환 후 반환, 0보다 작으면 나누어 떨어지는 수가 없는 것이므로 List에 -1을 넣어 IntArray로 형변환하고 반환한다. 

class Solution {
    fun solution(arr: IntArray, divisor: Int): IntArray {
        var answer  = arr.filter{ it%divisor == 0}.toMutableList()

        return if(answer.size > 0 ) answer.sorted().toIntArray() else { answer.add(-1); answer.toIntArray()}
    }
}


------------------------------------------------------------결과------------------------------------------------------------------

 

 

 

 

 

 

- 문제에 대한 질문 댓글 환영!
- 중간에 잘못된 부분이 있다면 댓글로 남겨주세요. 수정하겠습니다.

728x90

댓글