1037. 약수
양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.
입력 : 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다.
출력 : 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다.
ex)
입력1 :
1
2
출력1:
4
입력2 :
6
3 4 2 12 6 8
출력2 :
24
풀이
count = int(input())
aliquot = list(map(int, input().split()))
aliquot.sort()
n = aliquot[0] * aliquot[len(aliquot) - 1]
print(n)
- 먼저 n의 약수의 개수인 count를 입력받고, 그 다음으로 n의 약수들을 입력받아 aliqout(약수) 리스트를 생성했다.
위의 그림처럼 n을 구하기 위해 약수 리스트인 aliquot를 sort()를 사용하여 오름차순으로 정렬했고, aliquot의 첫 번째 요소와 마지막 요소를 곱하여 n을 구한 다음 출력하게 했다.
'코딩테스트 문제풀이(Python)' 카테고리의 다른 글
백준 5576번 문제풀이 (파이썬) (0) | 2022.05.17 |
---|---|
백준 3058번 문제풀이 (파이썬) (0) | 2022.05.17 |
백준 2822번 문제풀이(파이썬) (0) | 2022.05.15 |
백준 10773번 문제풀이(파이썬) (0) | 2022.05.14 |
백준 2309번 문제풀이(파이썬) (0) | 2022.05.14 |