알고리즘/백준
[python] 백준 1037번 약수
펄찌
2021. 12. 6. 22:17
문제 풀이
보자마자 그림을 한번 그려봤다.
검은색 : 테스트 케이스의 입, 출력
빨간색 : 테스트 케이스 출력에서의 1과 자기 자신
파란색 : 찾아낸 규칙
처음에 짜 본 코드다.
sorted 내장 함수로 입력받은 수들을 정렬하였다.
또한 N의 약수의 개수가 홀수일 때, 짝수일 때를 판별하여 N을 구하도록 했다.
ex) 홀수일 경우, N의 약수의 개수 = 1, input = 5, out = 25
25의 약수는 1을 제외한 5 뿐이기 때문에 제곱하여 반환시켜주면 25가 나온다.
ex) 짝수일 경우, 입력받은 약수들이 list형태로 있기 때문에 최솟값 * 최댓값을 하면 N이 나오게 된다.
N = int(input())
l = sorted(map(int, input().split()))
if N % 2 == 1:
print(l[int(len(l) / 2)]**2)
else:
print(min(l)*max(l))
더 짧은 코드!!😀😀
N = int(input())
l = list(map(int, input().split()))
print(min(l)*max(l))