나누어 떨어지는 숫자 배열

Anna·2024년 6월 27일

코딩테스트

목록 보기
21/28
post-thumbnail

📖 문제

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

📖 제한 조건

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

👻 내 풀이

class Solution 
{
    fun solution(arr: IntArray, divisor: Int): IntArray 
    {
        val answer = arr.filter { it % divisor == 0 }.sorted().toIntArray()
        return if (answer.isEmpty()) intArrayOf(-1) else answer
    }
}

arr에서 divisor로 나누어 떨어지는 요소들을 필터링하고 정렬하여 IntArray로 변환

answer가 비어있으면 intArrayOf(-1)을 반환

그렇지 않으면 answer를 반환

👻 다른 사람 풀이 해석

class Solution 
{
    fun solution(arr: IntArray, divisor: Int): IntArray 
    {
		    // 빈 정수 배열을 초기화
        var answer = intArrayOf()

        arr.forEach { if (it % divisor == 0) answer += it }
        answer.sort()

        if (answer.size == 0) answer += -1

        return answer
    }
}

arr.forEach { if (it % divisor == 0) answer += it }

arr 배열을 순회하면서 divisor로 나누어 떨어지는 요소를 answer에 추가

오름차순으로 정렬

answer 배열이 비어 있으면 -1을 추가

0개의 댓글