728x90
리스트 자르기
class Solution {
fun solution(n: Int, slicer: IntArray, num_list: IntArray): IntArray =
when(n){
1 -> num_list.slice(0 .. slicer[1]).toIntArray()
2 -> num_list.slice(slicer[0] until num_list.size).toIntArray()
3 -> num_list.slice(slicer[0] .. slicer[1]).toIntArray()
else -> num_list.slice(slicer[0] .. slicer[1] step slicer[2]).toIntArray()
}
}
첫 번째로 나오는 음수
class Solution {
fun solution(num_list: IntArray): Int = num_list.indexOf(num_list.filter { it < 0 }.firstOrNull()?:-1)
}
배열 만들기 3
class Solution {
fun solution(arr: IntArray, intervals: Array<IntArray>): IntArray = intervals.flatMap { (start, end) ->
arr.slice(start .. end)
}.toIntArray()
}
2의 영역
class Solution {
fun solution(arr: IntArray): IntArray {
var first = arr.indexOfFirst { it == 2 }
var end = arr.indexOfLast { it == 2 }
return if (first == -1) intArrayOf(-1) else arr.slice(first .. end).toIntArray()
}
}
배열 조각하기
class Solution {
fun solution(arr: IntArray, query: IntArray): IntArray {
var answer: List<Int> = arr.toList()
for (i in 0 until query.size){
if (i % 2 == 0)
answer = answer.slice(0 .. query[i])
else
answer = answer.slice(query[i] until answer.size)
}
return answer.toIntArray()
}
}
728x90