push, pop(마지막 데이터 출력 및 제거)
으로 데이터 입출력을 한다.FAQ
__len__
이라는 함수를 생성한 후 사용할 수 있다.괄호를 입력 받았을 때 올바른 형식일 경우 True, 아닐 경우 False를 출력
input : (()())
output : False
input : ((())()(
output : False
Stack에 괄호를 넣고 (
다음에 (
가 올 경우 push, )
의 경우 pop을 진행하며, 입력이 끝난 후 Stack의 길이가 0보다 클 경우 False 아닐 경우 True를 출력한다.
infix 형태의 수식을 postfix 형태로 변환하기
input : +, -, *, /, (, ), 숫자(영문자)로 구성된 infix 수식
output : postfix 수식
ex)
2 + 3 * 5
(infix) = 2 3 5 * +
(postfix)
2 * 3 + 1
= 2 3 1 * +
연산자를 Stack에 넣고 연산 우선순위에 따라 pop을 진행하며 출력한다.
++ )
가 입력 될 경우 (
가 나올때 까지 연산자를 모두 pop
우선순위 (
< +, -
< *, /
< )
2-1. 계산기2
postfix형태의 수식을 계산하기
input : postfix 형태의 수식
output : 수식을 계산한 결과 값
피연산자를 Stack에 넣고 연산자를 입력받을 경우 2번의 pop을 해서 결과값을 push하여 Stack에 다시 넣고 최종 결과값을 출력한다.