🏷 문제
![](https://velog.velcdn.com/images%2Fsorzzzzy%2Fpost%2Face8a7b3-e540-4180-bcdd-14fb1880f229%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-04%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.00.49.png)
![](https://velog.velcdn.com/images%2Fsorzzzzy%2Fpost%2F8716603a-0dbe-4ba5-8e64-7b043a7d0fe4%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-04%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.00.55.png)
💡 코드
n = int(input())
num_list = list(map(int, input().split()))
add, sub, mul, div = map(int, input().split())
max_res, min_res = -1e9, 1e9
def cal(idx, res, add, sub, mul, div):
global n, num_list, max_res, min_res
if idx == n:
max_res = max(max_res, res)
min_res = min(min_res, res)
return
if add:
cal(idx+1, res + num_list[idx], add-1, sub, mul, div)
if sub:
cal(idx+1, res - num_list[idx], add, sub-1, mul, div)
if mul:
cal(idx+1, res * num_list[idx], add, sub, mul-1, div)
if div:
if res < 0:
cal(idx+1, -((-res) // num_list[idx]), add, sub, mul, div-1)
else:
cal(idx+1, res // num_list[idx], add, sub, mul, div-1)
cal(1, num_list[0], add, sub, mul, div)
print(max_res)
print(min_res)
🔑