SW Expert Academy/D2
[SW Expert Academy] 1959. 두 개의 숫자열
ImJay
2023. 12. 30. 19:10
반응형
[SW Expert Academy] 1959. 두 개의 숫자열
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
ans = 0
if len(A) > len(B):
# A의 길이가 B보다 길 경우
length = len(A) - len(B) + 1
for i in range(length):
res = 0
# B 배열과 A 배열의 부분집합을 곱하여 합을 계산
for j in range(len(B)):
res += A[j + i] * B[j]
ans = max(ans, res)
else:
# B의 길이가 A보다 길거나 두 배열의 길이가 같을 경우
length = len(B) - len(A) + 1
for i in range(length):
res = 0
# A 배열과 B 배열의 부분집합을 곱하여 합을 계산
for j in range(len(A)):
res += A[j] * B[j + i]
ans = max(ans, res)
# 결과 출력
print(f'#{test_case} {ans}')

반응형