

class Solution {
fun solution(arr: IntArray, queries: Array<IntArray>): IntArray {
for(idx in queries.indices){
var(first, second) = queries[idx]
var a = arr[second]
var b = arr[first]
arr[first] = a
arr[second] = b
}
return arr
}
}
class Solution {
fun solution(arr: IntArray, queries: Array<IntArray>): IntArray {
queries.forEach { (first, second) ->
arr[first] = arr[second].also { arr[second] = arr[first] }
}
return arr
}
}
array
fun main() {
val numbers = arrayOf(1, 2, 3, 4, 5)
// 두 번째 인덱스의 값을 10으로 수정
numbers[1] = 10
println(numbers.joinToString()) // 출력: 1, 10, 3, 4, 5
}
구성 분해 선언
Kotlin에서는 배열이나 객체의 값을 여러 개의 변수로 분해하여 한 번에 할당할 수 있는 문법을 제공합니다.
배열에서 사용
아래 예제에서 pair 배열의 첫 번째 값은 first에, 두 번째 값은 second에 할당됩니다.
val pair = intArrayOf(1, 2)
val (first, second) = pair
println(first) // 출력: 1
println(second) // 출력: 2
데이터 클래스에서 사용
data class Person(val name: String, val age: Int)
val person = Person("John", 25)
val (name, age) = person
println(name) // 출력: John
println(age) // 출력: 25
forEach
forEach는 컬렉션이나 배열의 각 요소에 대해 지정된 작업을 실행하는 함수입니다. forEach는 컬렉션을 반복하면서 각 요소를 처리할 수 있도록 도와줍니다.
val numbers = arrayOf(1, 2, 3, 4, 5)
numbers.forEach { number ->
println(number) // 출력: 1, 2, 3, 4, 5
}
also
val number = mutableListOf(1, 2, 3)
number.also { it.add(4) } // 리스트에 4를 추가하고, 리스트 자체를 반환
println(number) // 출력: [1, 2, 3, 4]