프로그래밍 문제 15번 내적
2022. 9. 26. 12:19 - DoosanBaek
이 문제는 프로그래머스에서 제공된 문제를 풀이한 문제이며, 저작권은 프로그래머스에게 있습니다.
언어 : 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 이하입니다.
입출력 예시
a | b | result |
[1,2,3,4] | [-3,-1,0,2] | 3 |
[-1,0,1] | [1,0,-1] | -2 |
입출력 예시 설명
입출력 예시 #1
- a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다.
입출력 예시 #2
- a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2 입니다.
Solution,java
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;
}
}
답안도출 과정
1. 두 정수 배열 a와 b라는 문제 설명을 확인하고, int형 타입의 배열 a, int 형 타입의 배열 b를 선언
2. 길이가 같은 두 1차원 배열이라는 설명을 확인하고, a와b의 길이가 같은 조건을 확인
3. a와 b의 내적을 구하는 입출력 예시를 확인 시,
a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)
a 배열의 인덱스 값 곱하기 b 배열의 인덱스 값을 n번(a배열 = b배열의 길이만큼) 더하는 과정임을 확인
4. a[i]*b[i] 를 a.length 만큼 반복문을 돌려서 계속 더해진 값을 answer에 입력한다. ( a와 b 의배열의 길이가 같으므로 )
실행 메소드 추가
class Solution15 {
public static int[]a = {1,2,3,4};
public static int[]b = {-3,-1,0,4};
public int solution15(int[] a, int[] b) {
int answer = 0;
for(int i=0; i<a.length; i++) {
answer += a[i]*b[i];
}
return answer;
}
public static void main(String[] args) {
Solution15 solution15 = new Solution15();
System.out.println(solution15.solution15(a,b));
}
}
'알고리즘' 카테고리의 다른 글
프로그래밍 문제 19번 수박수박수 (1) | 2022.09.26 |
---|---|
프로그래밍 문제 18번 서울에서 김서방 찾기 (1) | 2022.09.26 |
프로그래밍 문제 17번 문자열 다루기 (0) | 2022.09.26 |
프로그래밍 문제 16번 문자열 내 p와 y의 개수 (1) | 2022.09.26 |
프로그래밍 문제 14번 나누어 떨어지는 숫자 배열 (0) | 2022.09.26 |
프로그래밍 문제 13번 2016년 (0) | 2022.09.25 |
프로그래밍 문제 12번 부족한 금액 계산하기 (0) | 2022.09.25 |
프로그래밍 문제 11번 x만큼 간격이 있는 n개의 숫자 (2) | 2022.09.25 |