[python_파이썬_Fail_미해결]백준_14888번_연산자 끼워넣기_백트레킹_풀이
2024. 8. 26. 20:53ㆍ코드리뷰
728x90
반응형
공부하는허딩크 : https://www.youtube.com/live/WSAIqn6prZQ?feature=shared
<첫번째 시도 : 틀렸습니다.>
총 1시간 이상 고민한 것 같은데 아직 해결을 못했다.
어떻게 백 트레킹으로 구현해야하는지도 감이 잡히지 않는다.
eval()을 활용해서 연산의 결과 값을 구하는 코드를 작성하였다.
※ 이 문제의 조건은 일반적인 연산 법칙을 따르는 것이 아닌 순서대로 연산을 하는게 주요 포인트이다. => 그래서 틀림.
#첫번째 시도 : 연산자를 순서대로 계산하는 조건 불만족
N = int(input())
nums = list(map(int, input().split()))
oper_num = list(map(int, input().split()))
oper = ["+", "-", "*", "//"]
new_oper = []
for i in range(len(oper)):
if oper_num[i] > 0:
new_oper.extend(list(oper[i] * oper_num[i]))
check_oper = list(i for i in itertools.permutations(new_oper, len(new_oper)))
answer = []
for i in range(len(check_oper)):
result = []
for j in range(len(nums)):
if j < len(nums) - 1:
result.append(nums[j])
result.append(check_oper[i][j])
else:
result.append(nums[j])
answer.append(eval("".join(map(str, result))))
print(max(answer))
print(min(answer))
728x90
반응형
'코드리뷰' 카테고리의 다른 글
투포인터 처음 보는데 어렵네_[python_파이썬_Fail]백준_2003번_수들의 합_투포인터 개념 설명_풀이 (0) | 2024.09.05 |
---|---|
★복습필요[python_파이썬_Half Pass]백준_1182번_부분수열의합_백트래킹_풀이 (0) | 2024.09.02 |
[python_파이썬_Pass]백준_2947번_나무 조각_시뮬레이션_풀이 (0) | 2024.08.26 |
[python_파이썬_Pass]백준_1547번_공_시뮬레이션_풀이 (0) | 2024.08.26 |
[python_파이썬_Pass]백준_15652번_N과 M(4)_백트래킹_풀이 (0) | 2024.08.25 |