5. 내적
문제 설명
a 벡터와 b 벡터의 내적을 구하시오
## Inputs
Variable Name | type | meaning |
---|---|---|
a | Vector[Int] | mathematical vector |
b | Vector[Int] | mathematcial vector |
output
return Int // a \dot b
Conditions
- length of a & b: 1~1000
- all numbers in a & b → -1000~1000
Test cases
a | b | result |
---|---|---|
[1,2,3,4] |
[-3,-1,0,2] |
3 |
[-1,0,1] |
[1,0,-1] |
-2 |
Solution
- 내적 관련 함수가 있나 보자. 데이터 타입 이름이 벡터인데 있을 거 같다.
- product라는 함수가 있어서 dot product인줄 알았더니 해당 Iterable에 있는 모든 수의 곱이다.
- 없으면 그냥 zip하고 map으로 곱하고 sum으로 합하면 된다.
- 그냥 이거로 해결해야겠다.
def solution(a: Vector[Int], b: Vector[Int]): Int = {
return a.zip(b).map(nums => nums._1 * nums._2).sum
}
Study from Implementation
- 데이터 타입 이름이 벡터라 dot product, cross product 정도는 내장으로 구현되어 있을 줄 알았더니 없더라..