import math
N = int(input()) # 4
div = N
div_list = []
while div > 0:
M = map(int, input().split()) # 2, 3, 4, 6
for i in M:
div_list.append(i)
div -= 1
prod = math.prod(div_list) # 144
f_prod = prod ** ((N//2) ** -1) # 144 ** 0.5
print(int(f_prod))
# (N//2) ** -1 과정에서 소수가 나옴
# 9의 진짜 약수 3 등에 대한 조건 부족
위의 풀이가 말도 안된다는 걸 알지만 우선 답을 구해보고 싶었기에 강행했었다.
그냥 편하게 가보기로 했다.
1. 입력 값을 나눠서 저장한다
2. 순서대로 줄 세운다
3. 1이 아닌 경우에 처음 값과 끝 값을 곱한 것을 출력한다.
N = int(input()) # 4
div = N
div_list = []
while div > 0:
M = map(int, input().split()) # 2, 3, 4, 6
for i in M:
div_list.append(i)
div -= 1
div_list.sort()
if N == 1:
print(div_list[0] * div_list[0])
else:
print(div_list[0] * div_list[-1])
맞았습니다!
가 뜨고 다른 사람들 코드를 살펴봤다.
N = int(input())
M = list(map(int, input().split()))
M.sort()
if N == 1:
print(M[0] ** 2)
else:
print(M[0] * M[-1])
...
너무 간단해서 짜증나?
맨 처음방식으로 풀었을 때 틀려서 다행이다!
파이썬 공부 열심히 해야지! 파이썬 짱이다!