실버1 : 완전 탐색 문제이다. 풀이 그냥 가능성을 다 구한다. 그런데 시간 초과가 날수도 있다. 왜냐하면 +-*/가 중복될 수 있으니까 그래서 set으로 이런 중복을 제거한후 주르륵 계산해서 답. Code import sys from itertools import permutations input = sys.stdin.readline n = int(input()) a = list(map(int, input().split())) plus, minus, multi, div = map(int, input().split()) state = ["+"] * plus + ["-"] * minus + ["*"] * multi + ["/"] * div opList = set(permutations(state, len(state))) maxNum, minNum = -1e11, 1e11 for operations in opList: ans = a[0] for op, num in zip(operations, a[1:]): ans = int(eval(f"{ans}{op}{num}")) maxNum = max(maxNum, ans) minNum = min(minNum, ans) print(maxNum) print(minNum) Reference 백준(14888번) - 연산자 끼워넣기