길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.
이때, a와 b의 내적은 a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)
class Solution {
fun solution(a: IntArray, b: IntArray): Int {
var answer: Int = 0
//for(i in a.indices)
for(i in 0..a.count()-1) {
answer += a[i] * b[i]
}
return answer
}
}
val <T> Array<out T>.indices: IntRange
val Collection<*>.indices: IntRange
class Solution {
fun solution(a: IntArray, b: IntArray): Int {
return a.zip(b).map { it.first * it.second }.sum()
}
}
zip
infix fun <T, R> Iterable<T>.zip( other: Array<out R> ): List<Pair<T, R>>
: 두 개의 Iterable를 조합해 각 원소를 순서대로 Pair로 만들어, List<Pair<T, R>>로 만드는 확장함수
map
inline fun <R, T> Result<T>.map( transform: (value: T) -> R ): Result<R>
: 수식을 적용하여 값 변경하여 반환