카테고리 없음

[Kotlin] Programmers 코딩 기초 트레이닝 Day 06 조건문, 반복문

chattymin 2023. 7. 4. 09:42
728x90
반응형

마지막 두 원소

class Solution {
    fun solution(num_list: IntArray): IntArray = num_list.plus(if (num_list.last() > num_list[num_list.size - 2]) num_list.last() - num_list[num_list.size - 2] else num_list.last() * 2)
}

 

 

수 조작하기 1

class Solution {
    fun solution(n: Int, control: String): Int {
        var answer: Int = n

        control.forEach {
            when(it){
                'w' -> answer += 1
                's' -> answer -= 1
                'd' -> answer += 10
                'a' -> answer -= 10
            }
        }
        return answer
    }
}

 

 

 

수 조작하기 2

class Solution {
    fun solution(numLog: IntArray): String {
        var answer: String = ""

        for (i in 1 until numLog.size){
            when(numLog[i] - numLog[i-1]){
                1 -> answer += "w"
                -1 -> answer += "s"
                10 -> answer += "d"
                -10 -> answer += "a"
            }
        }

        return answer
    }
}

 

 

수열과 구간 쿼리 3

class Solution {
    fun solution(arr: IntArray, queries: Array<IntArray>): IntArray {
        var answer: IntArray = arr

        queries.forEach {
            var temp = answer[it.first()]
            answer[it.first()] = answer[it.last()]
            answer[it.last()] = temp
        }

        return answer
    }
}

 

 

수열과 구간 쿼리 2

class Solution {
    fun solution(arr: IntArray, queries: Array<IntArray>): IntArray {
        var answer: IntArray = intArrayOf()

        queries.forEach { (fir, sec, num) ->
            answer += arr.slice(fir .. sec).filter { it > num }.sorted().minOrNull() ?: -1
        }

        return answer
    }
}
728x90
반응형