백준 1037번 : 약수(Java)

6204 단어 백준백준

약수들 중 최솟값과 최댓값을 곱하여 N을 구하는 문제였습니다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class p1037 {
 
	public static void main(String[] args) throws IOException {
 
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int T = Integer.parseInt(br.readLine());
		
		// 각각 해당 자료형의 최소값과 최대값을 저장한다.
		int max = Integer.MIN_VALUE;
		int min = Integer.MAX_VALUE;
		
		StringTokenizer st = new StringTokenizer(br.readLine()," ");
        
		while(T-- > 0) {
			int N = Integer.parseInt(st.nextToken());
			// 1은 약수일 수 없고,
			// 진짜 약수는 2보다 크거나 같다.(1,000,000보다 작은 범위)
			// N값에 따라 들어올수 있는 약수의 배열이 정해져있다.
			// N은 해당 약수중에 최소값과 최대값을 곱하면 구할 수 있다.
			max = N > max ? N : max;
			min = N < min ? N : min;
		}
		System.out.println(max * min);
	}

}

좋은 웹페이지 즐겨찾기