문제
https://school.programmers.co.kr/learn/courses/30/lessons/67257?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
from copy import deepcopy
def operation(num1, num2, op):
if op == '+':
return str(int(num1) + int(num2))
if op == '-':
return str(int(num1) - int(num2))
if op == '*':
return str(int(num1) * int(num2))
def solution(exp):
answer = 0
seq=['*-+','*+-','-*+','-+*','+*-','+-*']
arr=[]
temp=""
for i in exp:
if i.isdigit():
temp+=i
else:
arr.append(temp)
arr.append(i)
temp=""
arr.append(temp)
for s in seq:
temp=deepcopy(arr)
for i in s:
stack=[]
while len(temp)!=0:
tmp=temp.pop(0)
if i==tmp:
stack.append(operation(stack.pop(), temp.pop(0), i))
else:
stack.append(tmp)
temp=deepcopy(stack)
answer=max(answer,abs(int(temp[0])))
return answer
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] Pro 삼각 달팽이 (0) | 2024.01.11 |
---|---|
[파이썬] Pro 줄 서는 방법 (0) | 2023.12.22 |
[파이썬] Pro 택배상자 (0) | 2023.12.21 |
[파이썬] Pro 과제 진행하기 (0) | 2023.12.20 |
[JAVA] [분할정복] Pro 쿼드압축 후 개수 세기 (0) | 2023.07.26 |