약수 [ Python ] [ 백준 : 1037 ]
2023. 5. 27. 21:35ㆍ알고리즘/백준
풀이 및 회고
약수를 구하는 문제인데 방법을 구하기 어려웠고 복잡하게 생각이 들었던 문제였다.
나영님이 입력받은 값의 최소값과 최대값을 곱하면 쉽게 구할 수 있다고 말해주셨다. 대박.
그래서 문제를 풀어나갔고 풀고 나서 다른 사람의 풀이도 보았는데 우리가 작성한 코드보다 훨씬 간결했다. 아쉬웠습니다 ㅠㅜ
# 약수
n = int(input())
t = list(map(int, input().split()))
t.sort()
if len(t) % 2 == 0:
answer = t[0] * t[-1]
else:
num = len(t) // 2
answer = t[num] ** 2
print(answer)
'''
이렇게도 푸네요 ㄷㄷ
n = int(input())
a = list(map(int, input().split()))
a_max = max(a)
a_min = min(a)
print(a_max * a_min)
'''
# 그저 goat, 빛
# a = [1,2,4] => [2]
# len(a)//2
# 홀수 -> index(n) 가운데거 ^ 2
# 짝수 -> sort 해서 맨앞, 맨 뒤 곱하기
'알고리즘 > 백준' 카테고리의 다른 글
균형잡힌 세상 [ Python ] [ 백준 : 4949 ] (0) | 2023.05.27 |
---|---|
스택 수열 [ Python ] [ 백준 : 1874 ] (1) | 2023.05.27 |
요세푸스 문제 0 [ Python ] [ 백준 : 11866 ] (0) | 2023.05.26 |
덱 [ Python ] [ 백준 : 10866 ] (0) | 2023.05.26 |
소수 찾기 [ Python ] [ 백준 : 1978 ] (1) | 2023.05.26 |