(코딩 테스트) 수준. 1포인트 제품 Kotlin

문제 설명

길이가 같은 두 개의 1차원 정수 배열 a와 b가 매개변수로 지정됩니다.

a와 b에서 내적반환하려면 솔루션 기능을 완료하십시오.

이 경우 a와 b의 내적은 a(0)*b(0) + a(1)*b(1) + … + a(n-1)*b(n-1) 보지마. (n은 a와 b의 길이)


제한

  • a와 b의 길이는 1보다 크거나 같고 1,000보다 작거나 같습니다.

  • a와 b의 모든 숫자는 -1,000에서 1,000 사이입니다.

I/O 예시

(1,2,3,4) (-3,-1,0,2)
(-1,0,1) (1,0,-1) -2

내 솔루션. 같은 지수를 계산하는 방식이라 유용합니다.

private fun solution(a: IntArray, b: IntArray): Int {
        var answer: Int = 0
        a.forEachIndexed { i, v ->
            answer += v * b(i)
        }
        return answer
 }

마스터스 풀. 코틀린 같습니다.

zip을 사용하려면 지도를 사용하세요. zip 나에게 새로운 것 같지만 나중에 유용 할 것이라고 생각합니다.

 fun solution(a: IntArray, b: IntArray): Int {
        return a.zip(b).map { it.first * it.second }.sum()
    }

다른 마스터 mapIndexd로 해결했습니다.

class Solution {
    fun solution(a: IntArray, b: IntArray): Int = a.mapIndexed { index, it -> it * b(index) }.sum()
}