백준 1037 약수 [JAVA]

Ga0·2023년 6월 4일
0

baekjoon

목록 보기
64/123

문제 해석

  • 첫번째 줄에 진짜 N의 약수 개수 A를 입력받고, 두번째 줄에는 진짜 약수들을 입력받는다.
  • 모두 입력받았으면 진짜 약수들을 기반으로 N을 찾으면 된다.

코드

import java.util.*;
import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int count = Integer.parseInt(br.readLine()); //약수의 개수

        int[] divisor = new int[count]; //약수를 저장할 배열

        StringTokenizer st = new StringTokenizer(br.readLine());

        for(int i = 0; i < count; i++){
            divisor[i] = Integer.parseInt(st.nextToken()); //진짜 약수들 입력받기
        }

        //약수들을 작은 순으로 정렬 후, 입력받은 진짜 약수의 0번째 인덱스 값과 마지막 인덱스 값을 곱하면 N을 찾을 수 있다.
        Arrays.sort(divisor);

        bw.write(divisor[0] * divisor[count-1] + "\n");

        br.close();
        bw.flush();
        bw.close();
    }

}
  • 약수들의 각각의 쌍이 존재하는데 그 쌍의 값들을 곱하면 N을 구할 수 있다는 것만 알고 있으면 이 문제는 크게 어려운 점이 없다.

결과

느낀 점

  • 이 문제는 쉽게 풀렸다!(간만인 느낌...)

0개의 댓글