BOJ/Python

백준 1037번 약수 파이썬

띵지니어 2021. 11. 16. 06:30

https://www.acmicpc.net/problem/1037

 

1037번: 약수

첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되

www.acmicpc.net

N = input()
x = list(map(int,input().split()))
x.sort() # 약수 정렬
if len(x) == 1:
    print(x[0]*x[0])
else:
    print(x[0]*x[len(x)-1])

N을 활용하여 풀어도 되지만 내 풀이 에서는 N이 필요없는 문제다.

약수의 갯수가 만약 하나라면 무조건 중복될수 밖에 없으니 제곱을 하여 출력을 하고,

여러개라 가정하면 정렬을 하고 양끝만 보고 곱셈 연산을 진행하면 된다.