https://eboong.tistory.com/556
정답
import java.util.*;
class Solution {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int t = 1; t <= T; t++) {
int N = sc.nextInt();
int M = sc.nextInt();
int A[] = new int[N];
int B[] = new int[M];
for (int i = 0; i < N; i++) {
A[i] = sc.nextInt();
}
for (int i = 0; i < M; i++) {
B[i] = sc.nextInt();
}
int answer = 0;
// 각 위치에서의 내적 값을 계산하고 최대값을 찾음
for (int i = 0; i <= Math.abs(N - M); i++) {
int sum = 0;
for (int j = 0; j < Math.min(N, M); j++) {
if (N > M) { // 첫 번째 숫자열의 길이가 더 긴 경우
sum += A[i + j] * B[j];
} else { // 두 번째 숫자열의 길이가 더 긴 경우
sum += A[j] * B[i + j];
}
}
answer = Math.max(answer, sum);
}
System.out.printf("#%d %d\n", t, answer);
}
}
}
'Java > SWEA' 카테고리의 다른 글
[JAVA] SWEA 1946. 간단한 압축 풀기 (0) | 2024.05.08 |
---|---|
[JAVA] SWEA 1948. 날짜 계산기 (0) | 2024.05.06 |
[JAVA] SWEA 1961. 숫자 배열 회전 (0) | 2024.05.05 |
[JAVA] SWEA 1966. 숫자를 정렬하자 (0) | 2024.05.05 |
[JAVA] SEWA 1970. 쉬운 거스름돈 (0) | 2024.05.05 |