백준 연산자 끼워넣기

- 처음 풀었을 때, 틀리다고 계속 나왔음
- 문제는 min값을 0으로 주어 너무 컸음
- 따라서, import sys 를 통해 매우작은값을 주거나, float("-inf")로 min,max값 설정
- set(permutations(operators, N-1)) and permutations(operators,N-1)
- set을 안쓸 경우, 시간초과발생 (왜그런지 공부!)
from itertools import permutations
import sys
def solution():
max_result = -sys.maxsize - 1
min_result = sys.maxsize
for operator in set(permutations(operators,N-1)):
result = arr[0]
for i,oper in enumerate(operator):
if oper == "+":
result += arr[i+1]
elif oper == "-":
result -= arr[i+1]
elif oper == "*":
result *= arr[i+1]
else:
if result < 0:
result *= -1
result //= arr[i+1]
result *= -1
else:
result //= arr[i+1]
min_result = min(min_result,result)
max_result = max(max_result,result)
return max_result,min_result
N = int(input())
arr = list(map(int,input().split()))
n_operators = list(map(int,input().split()))
operators = ["+"] * n_operators[0]
operators += ["-"] * n_operators[1]
operators += ["*"] * n_operators[2]
operators += ["/"] * n_operators[3]
answer_list = solution()
print(answer_list[0])
print(answer_list[1])