백준 14888 연산자 끼워넣기 Python

Derhon·2023년 12월 4일
0
post-custom-banner

백준 14888 연산자 끼워넣기

39.5m

나의 답

import sys

input = sys.stdin.readline

n = int(input())
nums = list(map(int, input().split()))
ops = list(map(int, input().split()))

MIN = 1e9
MAX = -1e9

def solution(idx, res, op1, op2, op3, op4):
    global MIN, MAX
    if idx == n:
        MIN = min(res, MIN)
        MAX = max(res, MAX)
        return
    if op1 > 0:
        solution(idx + 1, res + nums[idx], op1 - 1, op2, op3, op4)
    if op2 > 0:
        solution(idx + 1, res - nums[idx], op1, op2 - 1, op3, op4)
    if op3 > 0:
        solution(idx + 1, res * nums[idx], op1, op2, op3 - 1, op4)
    if op4 > 0:
        solution(idx + 1, int(res / nums[idx]), op1, op2, op3, op4 - 1)

solution(1, nums[0], ops[0], ops[1], ops[2], ops[3])
print(MAX)
print(MIN)

계속 미친 시간 초과가 났는데, 알고보니 중간에 포문을 한 번 돌렸더라...ㅎ..

profile
🧑‍🚀 이사했어요 ⮕ https://99uulog.tistory.com/
post-custom-banner

0개의 댓글