Kotlin에서 배열을 일정한 크기로 나누는 방법은 여러 가지가 있습니다. 배열을 일정한 크기의 더 작은 배열로 분할하는 방법 중 몇 가지를 예시와 함께 제시하겠습니다.
chunked()
함수 사용:chunked()
함수는 배열을 지정한 크기로 나누어 새로운 리스트로 반환합니다.
fun main() {
val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val k = 3 // 나눌 크기
val chunks = numbers.chunked(k)
chunks.forEachIndexed { index, chunk ->
println("Chunk $index: ${chunk.joinToString()}")
}
}
windowed()
함수 사용:windowed()
함수는 배열의 윈도우를 지정한 크기만큼 이동시키면서 배열을 나눕니다.
fun main() {
val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val k = 3 // 윈도우 크기
val windows = numbers.windowed(k, step = k, partialWindows = true)
windows.forEachIndexed { index, window ->
println("Window $index: ${window.joinToString()}")
}
}
- 직접 루프 사용:
직접 루프를 사용하여 배열을 나눌 수도 있습니다.
fun main() {
val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val k = 3 // 나눌 크기
val dividedArrays = mutableListOf<List<Int>>()
var currentIndex = 0
while (currentIndex < numbers.size) {
val subList = numbers.sliceArray(currentIndex until (currentIndex + k))
dividedArrays.add(subList.toList())
currentIndex += k
}
dividedArrays.forEachIndexed { index, subList ->
println("Sublist $index: ${subList.joinToString()}")
}
}
위의 예시에서는 chunked()
, windowed()
및 직접 루프를 사용하여 배열을 일정한 크기로 나누는 방법을 보여주었습니다. 선택한 방법에 따라 배열을 적절하게 나눌 수 있습니다.
728x90
'코테 > 코딩테스트 대비 Kotlin' 카테고리의 다른 글
Kotlin 두 개의 배열의 요소가 같은지 아는 방법 (0) | 2023.08.19 |
---|---|
Kotlin 배열 자르기 (0) | 2023.08.19 |
Kotlin 배열 정렬 (0) | 2023.08.19 |
Kotlin 약수 구하기 (0) | 2023.08.19 |
Kotlin 코테 대비 정리 (0) | 2023.08.19 |