Time Limit: 1s
Memory Limit: 128MB
본 문제는 연습문제 4.3의 확장판 입니다. 4.3을 풀지 못한 학생 여러분들은 월요일 7시 help session을 적극 권장드립니다. 혹은 정보관 1층의 라운지에서 선배들의 지식을 약탈해보세요.
이번 문제에서는 스택 자료구조를 다루는 몇가지 연산이 추가된 역 폴란드 수식을 계산해 봅시다.
추가된 연산은 다음과 같습니다.
* ? (pop&print) : 스택의 가장 위에 있는 값을 pop 한 후 출력
* & (duplicate) : 스택의 가장 위에 있는 값을 2개로 복제
* ~ (swap) : 스택의 상위 2개 값의 위치를 서로 바꿈
1 5 + 30 & 66 & ? - + ~ & + ?
66 12
4.3과 다르게 최종 값을 출력하지 않습니다. ? 연산이 들어올때만 출력해야 되요.
1 5 + 30 & 66 & ? - + ~ & + ? ------------------- 1 1 5 1 5 + 6 30 & 30 duplicate 6 30 30 6 30 30 66 & 6 30 30 66 66 6 30 30 66 66 ? 66 pop & print 6 30 30 66 - 6 30 -36 + 6 -6 ~ 6 -6 swap -6 6 & 6 duplicate -6 6 6 + -6 12 ? 12 pop & print -6