본문 바로가기

알고리즘

[baekjoon] 14888. 연산자 끼워넣기


로직 + 주의해야하는 점

1. 문제에서 말하는 그대로 +, -, x, %를 구분해 코드를 작성하면 된다

2. ** 문제점 : 나누기할 때, /로 나눈 다음에 int를 씌워서 나머지를 없앤다(처음에 //를 했다가 답이 제대로 안나옴)

 

 

코드

from itertools import permutations

N = int(input())
numbers = list(map(int, input().split()))
calcu = list(map(int, input().split()))
eq = ['+', '-', '*', '/']

eq_t = []
for i in range(4):
    eq_t += eq[i] * calcu[i]

result = list(permutations(eq_t, N-1))
answer = []
for i in result:
    res = numbers[0]

    for j in range(len(i)):
        if i[j] == '+':
            res += numbers[j + 1]

        elif i[j] == '-':
            res -= numbers[j + 1]

        elif i[j] == '*':
            res *= numbers[j + 1]

        elif i[j] == '/':
            res /= numbers[j + 1]
            res = int(res)
    answer.append(res)

print(max(answer))
print(min(answer))

'알고리즘' 카테고리의 다른 글

[programmers] 튜플  (0) 2020.08.31
[programmers] 다트 게임  (0) 2020.08.31
[baekjoon] 14889. 스타트와 링크  (0) 2020.08.18
[baekjoon] 13458. 시험감독  (0) 2020.08.18
[baekjoon] 14500. 테트로미노  (0) 2020.08.16