관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 리스트 자르기 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 리스트 자르기 (Kotlin)

참깨빵위에참깨빵 2024. 3. 24. 19:44
728x90
반응형

 

n이 1~4인 경우를 when으로 구분해서 풀면 아래와 같다.

 

class Solution {
    fun solution(n: Int, slicer: IntArray, num_list: IntArray): IntArray {
        val a = slicer[0]
        val b = slicer[1]
        val c = slicer[2]
        val answer: IntArray
        when (n) {
            1 -> {
                answer = IntArray(b + 1)
                for (i in 0..b) {
                    answer[i] = num_list[i]
                }
            }

            2 -> {
                answer = IntArray(num_list.size - a)
                for (i in a until num_list.size) {
                    answer[i - a] = num_list[i]
                }
            }

            3 -> {
                answer = IntArray(b - a + 1)
                for (i in a..b) {
                    answer[i - a] = num_list[i]
                }
            }

            4 -> {
                var count = (b - a + 1) / c
                if ((b - a + 1) % c != 0) {
                    count++
                }
                answer = IntArray(count)
                var index = 0
                var i = a
                while (i <= b) {
                    answer[index++] = num_list[i]
                    i += c
                }
            }

            else -> {
                answer = IntArray(0)
            }
        }
        return answer
    }
}

 

반응형
Comments