Programmers/Lv. 0 (完)

[Kotlin] Programmers 코딩 기초 트레이닝 Day 07 반복문

chattymin 2023. 7. 5. 16:05
728x90
반응형

수열과 구간 쿼리 4

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

        queries.forEach {
            for(i in it[0] .. it[1]){
                if (i % it[2] == 0) answer[i]++
            }
        }
        return answer
    }
}

 

 

 

배열 만들기 2

class Solution {
    fun solution(l: Int, r: Int): IntArray {
        var answer: IntArray = intArrayOf()

        for (i in l .. r){
            var temp = i.toString().toSet()
            if ((temp.size == 2 && temp.contains('5') && temp.contains('0')) || (temp.size == 1 && temp.contains('5')) || i == 5)
                answer = answer.plus(i)
        }
        
        if (answer.isEmpty())
            answer = answer.plus(-1)

        return answer
    }
}

 

 

 

배열 만들기 2

class Solution {
    fun solution(l: Int, r: Int): IntArray {
        var answer: IntArray = intArrayOf()

        for (i in l .. r){
            var temp = i.toString().toSet()
            if ((temp.size == 2 && temp.contains('5') && temp.contains('0')) || (temp.size == 1 && temp.contains('5')) || i == 5)
                answer = answer.plus(i)
        }
        
        if (answer.isEmpty())
            answer = answer.plus(-1)

        return answer
    }
}

 

 

 

카운트 업

class Solution {
    fun solution(start: Int, end: Int): IntArray = (start .. end).toList().toIntArray()
}

 

 

 

콜라츠 수열 만들기

class Solution {
    fun solution(n: Int): IntArray {
        var num = n
        var answer: IntArray = intArrayOf()

        do {
            answer = answer.plus(num)

            if (num % 2 == 0){
                num /= 2
            }else{
                num = num * 3 + 1
            }
        }while (num != 1)

        return answer.plus(1)
    }
}

 

 

 

배열 만들기 4

import java.util.Stack
class Solution {
    fun solution(arr: IntArray): IntArray {
        var stk : Stack<Int> = Stack()
        var i = 0

        while (i < arr.size) {
            if (stk.isEmpty()){
                stk.push(arr[i])
                i++
            }else{
                if (stk.last() < arr[i]){
                    stk.push(arr[i])
                    i++
                }else{
                    stk.pop()
                }
            }
        }

        return stk.toIntArray()
    }
}
728x90
반응형