[SWEA] 1959 | 두 개의 숫자열

Gaanii·2024년 11월 11일
0

Problem Solving

목록 보기
140/210
post-thumbnail

문제링크


1959 | 두 개의 숫자열



풀이과정


NM이 큰 값에 따라 움직여야하는 배열이 다르기 때문에 조건을 두개로 찢었다.

만약 N > M인 경우라면 B 배열을 움직여야하고, N < M이라면 A 배열을 움직여야한다.

이중 for문을 이용해서 인덱스 순서를 맞춰주면 되는 간단한 문제였다.


코드


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()))
    result = []

    if N > M:
        for i in range(0, N - M + 1):
            value = 0
            for j in range(M):
                value += A[j+i] * B[j]
            result.append(value)
    else:
        for i in range(0, M - N + 1):
            value = 0
            for j in range(N):
                value += A[j] * B[j+i]
            result.append(value)

    print(f'#{tc} {max(result)}')


결과


정답

0개의 댓글