-
[백준]1037. 약수 (java, python)알고리즘/백준 2021. 4. 20. 02:07
📄 링크
💡 문제 분석
어떤 양수 A의 진약수들이 주어질 때, A를 구하는 문제입니다
만약 A = 24라면, 12, 8, 6, 4, 3, 2가 들어올 것입니다.
여기서 규칙은, 처음과 끝을 짝지어서 곱하면 A가 된다는 것입니다.
예외 상황으로, A = 25같은 제곱수가 나온다면 약수가 한 개이기 때문에 따로 처리해줍니다
당연히 정렬이 되서 입력될 줄 알았는데, 아니었습니다. 먼저 정렬을 하고 풀이해줍니다.
⌨️ 코드
JAVA
import java.util.Arrays; import java.util.Scanner; public class Q1037 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; int ret = 0; for(int i = 0; i < n; i++) arr[i] = sc.nextInt(); Arrays.sort(arr); if(n == 1) ret = (int) Math.pow(arr[0], 2); else ret = arr[0] * arr[n - 1]; System.out.println(ret); } }
PYTHON
input() a = [*map(int, input().split())] print(min(a) * max(a))
'알고리즘 > 백준' 카테고리의 다른 글
[백준]1654. 랜선 자르기 (Java) (0) 2021.08.08 [백준]1699. 제곱수의 합 (Java) (0) 2021.08.08 [백준]1026. 보물 (java, python) (0) 2021.04.20 [백준]1021. 회전하는 큐 (java, python) (0) 2021.04.20 [백준]1018. 체스판 다시 칠하기 (java, python) (0) 2021.04.20