[SWEA] 보물왕 태혁

문제 보러가기

제한사항

이외의 제한사항은 없다.

첫번째 생각

약수가 되려면 가장 큰 수와 다른 모든 수를 곱한 수가 모두 0으로 나누어져야한다.

이점을 활용해서 해결하였다.

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.Arrays;
import java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T= sc.nextInt();
		for(int tc=1;tc<=T;tc++) {
			int P = sc.nextInt();
			int[] ar = new int[P];
			for(int i=0; i<P; i++) {
				ar[i] = sc.nextInt();
			}
			Arrays.sort(ar);
			int num = ar[P-1];
			int answer = num * num;
			L:for(int i=0; i<P; i++) {
				int tmp = num * ar[i];
				for(int j=0; j<P; j++) {
					if(tmp%ar[j] !=0) {
						break;
					} else if ( j == P-1 && tmp%ar[j] == 0 ) {
						answer = tmp;
						break L;
					}
				}
			}
			System.out.println("#"+tc+" "+ answer);
		}
		
	}
}