[Algorithm] 백준 1037번 약수(파이썬)
백준 #1037
문제
:양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.
입출력 규칙
1. 입력
- 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다.
2. 출력- 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다.
문제접근
이번 문제는진짜 약수를 구하는 문제로, 진짜 약수란 서로 곱했을때 원래의 수가 출력되는 수이다. 입력값으로 첫째줄에는 N의 진짜 약수의 개수, 둘째줄에는 N의 진짜약수가 주어지며, 진짜 약수에서 가장 작은 수와 가장 큰 수를 곱하면 N을 구할 수 있으므로 내장함수인 max와 min을 이용해 문제를 풀면 된다.
- 첫째줄에 약수의 개수가 들어오므로 N 변수에 입력값을 받는다.
- 둘째줄의 진짜 약수를 받기 위하여 map함수로 들어온 값들을 int(정수형)으로 바꿔 real 변수에 입력값을 받는다.
- max 함수와 min 함수를 이용해여 각각 변수에 값을 받는다.
- 가장 큰값과 가장 작은값을 곱하여 출력하면 진짜 약수를 구할 수 있다.
문제풀이(Python)
N = int(input())
real = list(map(int, input().split()))
max_num = max(real)
min_num = min(real)
print(max_num * min_num)
풀이를 통해 배운 것
- 내장함수인 max, min을 사용해볼 수 있었다.
Author And Source
이 문제에 관하여([Algorithm] 백준 1037번 약수(파이썬)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@goplanit/Algorithm-백준-1037번-약수파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)