인프런 커뮤니티 질문&답변

MyungHyun님의 프로필 이미지
MyungHyun

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

3. 후위 표기식 만들기 : infix-->postfix (스택)

제 코드에 불필요한 부분이 있을까요??

작성

·

141

0

n = input()

stack = []
result = ''

for i in n:
if i.isnumeric():
result += i

else:
if len(stack) == 0:
stack.append(i)
continue

if i == '*' or i == '/':
if stack[-1] == '*' or stack[-1] == '/':
result += stack[-1]
stack.pop()
stack.append(i)

elif i == '+' or i == '-':
while stack and stack[-1] != '(':
result += stack[-1]
stack.pop()
stack.append(i)

elif i == '(':
stack.append(i)

elif i == ')':
while stack and stack[-1] != '(':
result += stack[-1]
stack.pop()
stack.pop()

for x in stack[::-1]:
if x != '(':
result += x

print(result)

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 하신 코드입니다.

MyungHyun님의 프로필 이미지
MyungHyun

작성한 질문수

질문하기