[SWEA 1959] 두개의 숫자열 JAVA

LeeJ·2023년 1월 10일

SWEA

목록 보기
4/5
package Test;

import java.util.PrimitiveIterator;
import java.util.Scanner;

import java.io.FileInputStream;

class Solution
{
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
		int T;
		T=sc.nextInt();

		for(int test_case = 1; test_case <= T; test_case++)
		{
			int a = sc.nextInt(); //1번배열 길이 입력
			int b = sc.nextInt(); //2번배열 길이 입력
			
			int[] arr1 = new int[a];//1번배열 선언
			int[] arr2 = new int[b];//2번배열 선언
			
			for(int i = 0; i < a; i++){ //1번배열 입력 
				arr1[i] = sc.nextInt();
			}
			for(int j = 0; j < b; j++){ //2번배열 입력
				arr2[j] = sc.nextInt();
			}
			
			int maxVal = 0; //최대값 입력
			
			if(a > b) {
				for(int i = 0; i < a-b+1; i++) {
					int result = 0;
					for(int j = 0; j < b; j++) {
						result = result + (arr1[i+j] * arr2[j]);
					}
					if(result > maxVal) {
						maxVal = result;
					}
				}
			}
			else if(a < b) {
				for(int i = 0; i < b-a+1; i++) {
					int result = 0;
					for(int j = 0; j < a; j++) {
						result = result + (arr1[j] * arr2[i+j]);
					}
					if(result > maxVal) {
						maxVal = result;
					}
				}
			}
			else {
				int result = 0;
				for(int j = 0; j < a; j++) {
					result = result + (arr1[j] * arr2[j]);
				}
				if(result > maxVal) {
					maxVal = result;
				}
			}
			
			System.out.println("#" + test_case + " " + maxVal);
		}
	}
}
profile
헤응

0개의 댓글