🗒 문제
📝 나의 문제풀이
class Solution {
fun solution(num_list: IntArray, n: Int): IntArray {
return num_list.copyOfRange(0, n)
}
}
📝 다른 사람의 문제 풀이
class Solution {
fun solution(num_list: IntArray, n: Int): IntArray = num_list.slice(0 until n).toIntArray()
}
🖊 문제 풀이 시 알면 좋을 것
- copyOfRange 메서드
- 역할: 배열의 특정 범위를 복사해 새로운 배열을 반환.
- 특징: 시작 인덱스는 포함, 끝 인덱스는 포함하지 않음.
val arr = intArrayOf(1, 2, 3, 4, 5) val result = arr.copyOfRange(0, 3) // [1, 2, 3]
- slice 메서드
- 역할: 배열 또는 리스트에서 지정한 범위의 요소를 선택.
- 특징:
- 범위의 시작과 끝 모두 포함하는 slice 범위를 지정 가능.
- 반환 타입이 List이므로, 배열로 변환하려면 .toIntArray() 필요.
val arr = intArrayOf(1, 2, 3, 4, 5)
val result = arr.slice(0..2).toIntArray() // [1, 2, 3] (0, 1, 2 포함)
val result2 = arr.slice(0 until 3).toIntArray() // [1, 2, 3] (0, 1, 2 포함, 3 제외)
- until 키워드
- 역할: 범위를 지정할 때 마지막 값을 포함하지 않음.
- 사용 예제:
for (i in 0 until 3) { println(i) // 0, 1, 2 }
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 수열과 구간 쿼리 1 (0) | 2025.01.17 |
---|---|
[프로그래머스] n보다 커질 때까지 더하기 (0) | 2025.01.17 |
[프로그래머스] 할 일 목록 (0) | 2025.01.17 |
[프로그래머스] 5명씩 (0) | 2025.01.17 |
[프로그래머스] 홀수 vs 짝수 (0) | 2025.01.17 |