연습장/프로그래머스

프로그래머스(Kotlin)_ 제일 작은 수 제거

아이른 2024. 3. 13. 10:17

 

1. min을 쓰고 싶은데 자꾸 에러가 떠서 확인하니 이젠 minOrNull을 쓴다고 함.

2. 수정이 가능한 여러개의 데이터를 코드에 지정한 순서대로 저장 : var answer = mutableListOf<Int>()

3. 반복문으로 제일 작은 숫자가 아닐 때, answer.add(i) 추가.

4. 값이 비어있을 때, answer.add(-1) 추가.

5. 정수를 저장한 배열 : answer.toIntArray()

class Solution{
    fun solution(arr: IntArray): IntArray{
        var answer = mutableListOf<Int>()

        for (i in arr){
            if (i != arr.minOrNull())
                answer.add(i)
        }

        if (answer.isEmpty())
            answer.add(-1)

        return answer.toIntArray()
    }
}

 

6. 입출력 예제를 보면 10을 넣을 때 -1이 반환되니 배열의 size == 1로 하여 정수 배열에 반환하도록 넣고, filter{} 활용.

 

class Solution {
    fun solution(arr: IntArray): IntArray {
       var answer = intArrayOf()
       
       if(arr.size == 1) return intArrayOf(-1)
       
       answer = arr.filter { it != arr.min() }.toIntArray()
       return answer
    }
}

class Solution {
    fun solution(arr: IntArray): IntArray =
    
    if(arr.size == 1)
    arrayOf(-1).toIntArray()
    
    else arr.filter{it != arr.minOrNull()}.toIntArray()
}