반응형
https://www.acmicpc.net/problem/1037
위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계
수학3의 카테고리에 포함되어 있는 문제이다.
N이라는 숫자의 약수가 있을 때, 입력으로 첫번 째 줄에 1과 N을 제외한
N의 약수의 개수가 주어지고 둘 째 줄에는 그 약수들이 입력으로 들어온다.
나는 이 입력으로 들어온 숫자들의 최댓값과 최솟값을 곱하면 N이 나온다는 방법으로
문제를 해결하였다.
더 좋은 알고리즘이 있을거라 생각되긴하는데 문제를 보자마자 바로 떠오른 것은
1과 N을 제외한 다음의 최소, 최대값을 곱하면 N이 나온다는 것이다.
import java.util.Scanner;
public class Question_1037 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] Number = new int[N];
int Max = 0;
int Min = 0;
for(int i = 0; i < N; i++) {
Number[i] = sc.nextInt();
if(i == 0) {
Max = Number[0];
Min = Number[0];
}
if(Max < Number[i])
Max = Number[i];
if(Min > Number[i])
Min = Number[i];
}
System.out.println(Max * Min);
}
}
반응형
'BaekJoon' 카테고리의 다른 글
[백준] 10814번 : 나이순 정렬(JAVA) (0) | 2019.11.21 |
---|---|
[백준] 11653번 : 소인수분해(JAVA) (0) | 2019.11.20 |
[백준] 5086번 : 배수와 약수(JAVA) (0) | 2019.11.18 |
[백준] 11650번 : 좌표 정렬하기(JAVA) (0) | 2019.11.18 |
[백준] 10989번 : 수 정렬하기 3(JAVA) (0) | 2019.11.17 |
댓글