반응형
알고리즘 분류
- 부르트포스 알고리즘
- 백트래킹
SOLUTION
import sys
from itertools import permutations
N = int(sys.stdin.readline())
nums = list(map(int, sys.stdin.readline().split()))
opeartor = list(map(int, sys.stdin.readline().split()))
op_list = ["+","-","*","/"]
tmp = []
max_size = -sys.maxsize
min_size = sys.maxsize
for i in range(len(opeartor)):
for j in range(opeartor[i]):
tmp.append(op_list[i])
for case in permutations(tmp, N-1):
total = nums[0]
for k in range(1, N):
if case[k-1] == "+":
total += nums[k]
if case[k-1] == "-":
total -= nums[k]
if case[k-1] == "*":
total *= nums[k]
if case[k-1] == "/":
total = int(total/ nums[k])
if total > max_size:
max_size = total
if total < min_size:
min_size = total
print(max_size)
print(min_size)
'코딩테스트 대비 > 단계별 코딩 테스트 준비(27일 과정)' 카테고리의 다른 글
[그리디 알고리즘/Python] 1931번: 회의실 배정 - 효과는 굉장했다! (0) | 2022.02.19 |
---|---|
[그리디 알고리즘/Python] 13305번: 주유소 - 효과는 굉장했다! (0) | 2022.02.19 |
[백트래킹/Python] 15649번: N과 M(1) - 효과는 굉장했다! (0) | 2022.02.11 |
[큐/Python] 1021번: 회전하는 큐 - 효과는 굉장했다! (0) | 2022.02.11 |
[큐/Python] 2164번: 카드2 - 효과는 굉장했다! (0) | 2022.02.11 |