길이가 같은 두 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의 길이)
a | b |
---|---|
[1,2,3,4] | [-3,-1,0,2] |
[-1,0,1] | [1,0,-1] |
class Solution {
public int solution(int[] a, int[] b) {
int sum = 0;
for(int i=0; i<a.length; i++) {
sum += a[i]*b[i];
}
return sum;
}
}
return IntStream.range(0, a.length)
.map(index -> a[index] * b[index])
.sum();
range()
메서드는 종료범위를 포함하지 않음.sum()
메서드로 더함.처음 문제를 보자마자 Stream을 사용해서 풀어야겠다! 라고 생각해서 풀긴했는데
혹시 for문은 어떨까 싶어서 for문도 사용해봤다.
그런데 for문 코드가 좀 더 빨리 처리된다!😀
나름 배열 길이가 큰 것 같은데...이 정도쯤은 for문도 감당이 가능한듯ㅋㅋㅋ
앞으로도 이런 문제가 있으면 for문과 Stream 둘 다 사용해서
실행속도를 비교해봐야겠다~~😊