https://www.acmicpc.net/problem/1037
접근 방법
진짜 약수들을 순서대로 정렬해놓고 보면,
첫번째 약수 * 마지막 약수 = N
두번째 약수 * 뒤에서 두번째 약수 = N
세번째 약수 * 뒤에서 세번째 약수 = N
...
와 같은 패턴을 발견할 수 있다.
정렬 후, 첫번째 약수와 마지막 약수의 곱을 출력하면 되는 쉬운 문제였다.
최종 코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
int[] factors = new int[number];
for (int i = 0; i < number; i++) {
factors[i] = scanner.nextInt();
}
Arrays.sort(factors);
System.out.println(factors[0] * factors[number - 1]);
}
}
반응형