Programmers/Lv. 0 (完)

[Kotlin] Programmers 코딩 기초 트레이닝 Day 15 리스트(배열), 문자열

chattymin 2023. 7. 13. 11:44
728x90
반응형

조건에 맞게 수열 변환하기 1

class Solution {
    fun solution(arr: IntArray): IntArray = arr.map {
        if (it < 50 && it % 2 == 1)
            it * 2
        else if (it >= 50 && it % 2 == 0)
            it / 2
        else
            it
    }.toIntArray()
}

 

 

조건에 맞게 수열 변환하기 2

class Solution {
    fun solution(arr: IntArray): Int {
        var arr1 = arr
        var arr2: IntArray
        var count = 0

        while (true){
            arr2 = arr1.map {
                if (it < 50 && it % 2 == 1)
                    it * 2 + 1
                else if (it >= 50 && it % 2 == 0)
                    it / 2
                else
                    it
            }.toIntArray()

            if (arr1.contentEquals(arr2)) return count

            arr1 = arr2
            count++
        }
    }
}

 

 

1로 만들기

class Solution {
    fun solution(num_list: IntArray): Int {
        var answer: Int = 0

        num_list.forEach {
            var num = it
            while (true){
                if (num == 1) break
                num = num / 2
                answer++
            }
        }

        return answer
    }
}

 

 

길이에 따른 연산

class Solution {
    fun solution(num_list: IntArray): Int = 
        if (num_list.size <= 10) 
            num_list.fold(1){ sum, num -> sum * num }
        else 
            num_list.sum()
}

 

 

원하는 문자열 찾기

class Solution {
    fun solution(myString: String, pat: String): Int = 
    if (myString.toLowerCase().contains(pat.toLowerCase())) 1 
    else 0
}

 

728x90
반응형