728x90
KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | Algorithm CODEKATA
📐 내적
🏷 관련 주제 : Array Math Inner Product

✔ Solution with Loop & Operator
class Solution {
public int solution(int[] a, int[] b) {
int answer = 0;
for (int i = 0; i < a.length; i++) {
answer += a[i] * b[i];
}
return answer;
}
}
채점 결과

✔ Solution with Stream API
import java.util.stream.IntStream;
class Solution {
public int solution(int[] a, int[] b) {
int answer = IntStream.range(0, a.length).map(i -> a[i] * b[i]).sum();
return answer;
}
}
채점 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : 주어진 두 정수 배열 a, b의 같은 인덱스 원소끼리 곱한 후, 그 총합을 반환하시오.
반복문을 돌며 정수 배열 a와 b의 인덱스 i의 원소끼리 합한 결과를 총합을 담을 변수 answer에 담아 반환하여 문제를 풀었다.
for (int i = 0; i < a.length; i++) {
answer += a[i] * b[i];
}
그리고 Stream API로도 문제를 풀어보았다.
IntStream.range()를 0 ~ a.length로 두고 map을 이용하여 정수 배열 a와 b의 인덱스 i의 원소끼리 곱한 결과를 sum()으로 모두 합한 후, 반환함.
int answer = IntStream.range(0, a.length).map(i -> a[i] * b[i]).sum();
💬 무엇을 새롭게 알았는지
오늘은 내적과 관련된 문제를 풀어보았다.
📚 References(참고 자료)
스파르타코딩클럽, 항해99, 99클럽, Java, 비기너, 프로그래머스,코딩테스트 스터디, 개발자 취업
728x90