🗒 문제


📝 나의 문제풀이
class Solution {
fun solution(num_list: IntArray, n: Int): Array<IntArray> {
return num_list.toList().chunked(n).map{ it.toIntArray() }.toTypedArray()
}
}
🖊 문제 풀이 시 알면 좋을 것
toList()
개념/정의
- 배열(Array 또는 IntArray)을 List로 변환하는 함수
사용 시점/용도
- 배열에서는 지원하지 않는 chunked 같은 List 전용 함수를 쓰고 싶을 때 사용
반환값
- 원본 배열의 요소를 담은 새로운 List<T> 반환
val arr = intArrayOf(1, 2, 3)
val list = arr.toList()
println(list) // [1, 2, 3]
chunked(size: Int)
개념/정의
- 리스트를 지정된 크기(size)만큼 잘라서 서브 리스트의 리스트로 만드는 함수
사용 시점/용도
- 리스트를 일정 크기 단위로 나누고 싶을 때 사용
- 배열에서는 toList()로 변환한 후 chunked를 사용하고, 리스트에서는 바로 사용 가능
- 예: 1차원 배열을 2차원 배열로 변환할 때
반환값
- List<List<T>> 타입, 각 서브 리스트의 크기는 size이며 마지막은 남은 개수만큼
val list = listOf(1, 2, 3, 4, 5)
val chunks = list.chunked(2)
println(chunks) // [[1, 2], [3, 4], [5]]
map { it.toIntArray() }
개념/정의
- 리스트(List<Int>)의 각 요소를 다른 타입으로 변환하는 함수
- 여기서는 서브 리스트 List<Int> → 배열 IntArray 변환
사용 시점/용도
- chunked로 나눈 리스트들을 배열 형태로 바꿔 최종 2차원 배열을 만들고 싶을 때
반환값
- 변환된 요소들을 담은 새로운 리스트 반환
val chunks = listOf(listOf(1, 2), listOf(3, 4))
val arrays = chunks.map { it.toIntArray() }
println(arrays.map { it.toList() }) // [[1, 2], [3, 4]]
주의: toIntArray()는 List<Int> → IntArray 변환
toTypedArray()
개념/정의
- List<IntArray> → Array<IntArray> 로 변환하는 함수
- 즉, Kotlin의 리스트를 배열로 바꾸고 싶을 때 사용
사용 시점/용도
- 반환 타입이 배열(Array<...>)이어야 할 때 사용
반환값
- 타입이 지정된 새로운 배열
val listOfArrays = listOf(intArrayOf(1, 2), intArrayOf(3, 4))
val array2D = listOfArrays.toTypedArray()
println(array2D.map { it.toList() }) // [[1, 2], [3, 4]]
전체 과정 예시
val numList = intArrayOf(1, 2, 3, 4, 5, 6)
val n = 2
val result = numList.toList() // [1, 2, 3, 4, 5, 6]
.chunked(n) // [[1, 2], [3, 4], [5, 6]]
.map { it.toIntArray() } // [IntArray(1,2), IntArray(3,4), IntArray(5,6)]
.toTypedArray() // Array<IntArray>
println(result.map { it.toList() }) // [[1, 2], [3, 4], [5, 6]]반응형
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 7의 개수 (0) | 2025.12.22 |
|---|---|
| [프로그래머스] k의 개수 (0) | 2025.12.22 |
| [프로그래머스] 가까운 수 (0) | 2025.12.22 |
| [프로그래머스] 진료순서 정하기 (0) | 2025.12.22 |
| [프로그래머스] 숨어있는 숫자의 덧셈 (2) (0) | 2025.12.22 |