class Solution {
fun solution(arr: IntArray, queries: Array<IntArray>): IntArray {
queries.forEach{ (s, e, k) ->
for(i in s..e){
if( i % k == 0) arr[i] += 1 }
}
return arr
}
}
class Solution {
fun solution(arr: IntArray, queries: Array<IntArray>): IntArray = arr.apply {
queries.forEach { (s, e, k) -> (s..e).filter { it % k == 0 }.forEach { arr[it]++ } }
}
}
for (i in 1..5) {
println(i) // 1부터 5까지 출력
}
구조 분해
val (a, b, c) = listOf(1, 2, 3)
println(a) // 1
println(b) // 2
println(c) // 3
++ (증가 연산자)
var x = 5
x++ // x는 6
(s..e)
IntRange
라는 클래스 객체를 반환합니다.IntRange
는 Iterable
인터페이스를 구현하므로, 이를 대상으로 filter
, forEach
, map
등의 고차 함수들을 호출할 수 있습니다.println
함수는 IntRange
객체의 toString()
메서드를 호출하며, 이 메서드는 범위의 시작 값과 끝 값을 start..endInclusive
형식으로 반환합니다. val range = (1..5) // IntRange 생성
println(range) // 1..5
println((1..5).toList()) // [1, 2, 3, 4, 5]