문제 설명
https://programmers.co.kr/learn/courses/30/lessons/70128?language=java
길이가 같은 두 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 이상 1,000 이하입니다.
- a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
문제 해석 및 풀이 방법
1. 반복문을 이용하여 a와 b의 동일한 인덱스의 값을 곱하여 더해준다.
내가 작성한 소스코드(Java)
class Solution {
public long solution(int[] a, int[] b) {
long answer = 0L;
for(int i=0;i<a.length;i++){
answer += a[i] * b[i];
}
return answer;
}
}
for문을 통해 0~ a.length-1만큼 1증가를 한다.( a와 b의 크기가 동일함)
그후 a[i] *b[i] 즉 a와 b의 동일한 인덱스 값을 서로 곱한 값을 answer에 더한다.
그리고 answer을 리턴한다.
결론 및 고찰
이 문제는 단순히 a와 b의 같은 인덱스를 곱하는 방법이라 간단했다. 내부를 쌓는다는 뜻으로 수학적으로 곱한다고 생각면된다
소요 시간 5분
'코딩테스트 연습' 카테고리의 다른 글
Programmers 2개 이하로 다른 비트 Level 2 (0) | 2021.09.03 |
---|---|
Programmers 시저암호 Level 1 (0) | 2021.09.01 |
Programmers 서울에서 김서방 찾기 Level 1 (0) | 2021.08.30 |
Programmers 음양 더하기 Level 1 (0) | 2021.08.29 |
Programmers 소수 찾기 Level 1 (0) | 2021.08.28 |
댓글