코딩테스트/SW Expert Academy
[D2] 1959. 두 개의 숫자열
셂
2024. 10. 8. 09:20
1959. 두 개의 숫자열
✏️ 문제 풀이
- N > M: 리스트 A가 더 길 경우, A의 각 부분 리스트에 대해 리스트 B와의 내적을 계산
A의 시작 인덱스 i를 0부터 N-M까지 이동시키며, 각 위치에서의 내적을 계산하여 answer 리스트에 추가
- N < M: 리스트 B가 더 길 경우, B의 각 부분 리스트에 대해 리스트 A와의 내적을 계산
B의 시작 인덱스 i를 0부터 M-N까지 이동시키며, 각 위치에서의 내적을 계산하여 answer 리스트에 추가
T = int(input())
for tc in range(1, T+1):
N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
answer = []
if N > M:
for i in range(0, N-M+1):
s = 0
for j in range(M):
s += A[j+i] * B[j]
answer.append(s)
elif N < M:
for i in range(0, M-N+1):
s = 0
for j in range(N):
s += A[j] * B[j+i]
answer.append(s)
print("#%d" %tc, max(answer))