본문 바로가기
Algorithm/Python

백준 - 1037- 약수- Python/List 입력

by imagineer_jinny 2021. 3. 16.

1037번: 약수 (acmicpc.net)

 

1037번: 약수

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

www.acmicpc.net

문제

양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다.

 

풀이

n = int(input())
a = list(map(int, input().split()))
a_max = max(a)
a_min = min(a)
print(a_max * a_min)

 

내 풀이

-여러개 숫자를 받고 그걸 리스트에 어떻게 옮기지 하는 부분에서 어려웠고

저렇게 하니까 옆으로 입력을 못하고 엔터 띄고 여러줄이 생겨서 골치 아팠다.

다음부터 굳이 for문을 돌리지 않아도 리스트채로 입력받고 거기서 max, min등을 해결할수도 있겠다고 생각했다.

그리고 max, min으로 해결하면 더 명확?하다는 것을 깨달았다.

N=int(input())
reals=[]

for i in range(N):
    i=int(input().split()) #옆으로 입력 어케받음 
    reals.append(i)

print(reals[0]*reals[N-1])

댓글