[BOJ/백준-Python]1037번 - 약수

1037번 - 약수

문제

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

입력

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

출력

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

예제 입력 1

2
4 2

예제 출력 1

8

예제 입력 2

1
2

예제 출력 2

4

예제 입력 3

6
3 4 2 12 6 8

예제 출력 3

24

예제 입력 4

14
14 26456 2 28 13228 3307 7 23149 8 6614 46298 56 4 92596

예제 출력 4

185192


해결할 방법을 생각해보자.💡

진짜 간단하게 풀 수 있다. 첫 줄에서 받는 입력은 약수의 개수인데 내 문제 풀이에서는 사용할 일이 없다. 그래서 우선 받아두기만 하자. 두 번째 줄에서 받는 입력은 약수들인데, 이 약수들을 받아서 리스트에 넣어주자. 이 약수들을 가진 정수를 구하기위해서 예제를 보면 다음과 같은 것을 볼 수 있다. 약수들을 정렬하고 가장 작은 값과 가장 큰 값을 곱해주면 되는 것이다. 또한, 약수가 1개일 경우에는 그 약수를 제곱해주면 쉽게 구할 수 있다. 조건문과 인덱스를 적절히 사용해서 문제를 풀어주면 되겠다.

코드 💻

import sys

n = int(sys.stdin.readline())

nums = list(map(int, sys.stdin.readline().split()))

nums.sort()

if len(nums) == 1:
    print(nums[0] ** 2)
else:
    print(nums[0] * nums[-1])

해결 로그

문제 푼 날짜 체크
2022-07-29
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑