나누어 떨어지는 숫자 배열

두주·2024년 1월 2일

코드카타

목록 보기
14/19

class Solution {
    fun solution(arr: IntArray, divisor: Int): IntArray {
        var answer = intArrayOf()

        
        for (i in 0 until arr.size){ 
            if(arr[i] % divisor == 0) {
                answer = answer.plus(arr[i])
            } 
        }

        if (answer.size == 0){
            answer = intArrayOf(-1)
        }
        return answer.sorted().toIntArray()
    }
}

연휴동안 뇌가 멈춘 것 같다.

풀이과정

1) arr의 size만큼 for문 반복 (until을 써야 0부터 arr.size 이하까지 계산할 수 있음.
0 .. arr.size 하면 size가 5일 때 4까지 계산 함

2) 나눴을 때 나머지가 0일 경우 해당 값을 리스트에 추가함

3) 2를 1번만큼 반복한 후에도 리스트가 빈 상태일 경우 -1을 추가

4) sorted()를 이용하여 정렬함 (sorted()는 정렬한 뒤 List형태로 반환하기 때문에
intArrayOf로 선언해줬던 것과 mismatch된다.
그러므로 toIntArray()를 붙여줘야 한다.)

profile
야옹.

0개의 댓글