백준 1037번 : 약수

2024. 6. 29. 11:40개인활동/코테

https://www.acmicpc.net/problem/1037

n = int(input())
divisor = sorted(list(map(int, input().split())))

if n == 1: print(divisor[0]**2)
else: print(divisor[0]*divisor[-1])

 

예전에 풀었던 문제인데 업로드를 안했었다.

 

첫째줄에 약수의 개수가 주어지고, 둘째줄에 약수가 주어지면 이에 대한 연산을 진행하는 문제였다.

 

나의 경우 경우를 나누어 문제를 풀었지만, 사실 저렇게 조건이 없어도 충분히 풀리는 문제이긴 하다.

 

*a,=map(int,[*open(0)][1].split());print(min(a)*max(a))

 

숏코드를 보던 중, 요새 min, max를 쓸 생각을 잘 못했는데, 이 코드에서도 따로 sorting 없이 min, max를 활용해 바로 연산하였다.

 

min, max 사용하기! 기억해두자.