후위표기식
-
[ 알고리즘 ] 백준 1935번 후위표기식 2프로그래밍/알고리즘 2019. 5. 2. 16:17
백준 1935번 후위표기식 2 문제 링크 아래 1918번 후위표기식을 풀고 바로 풀어서 그런 지, 바로 풀 수 있었다. 문제는 크게 어려움 없이, 두가지 경우로 나눠서 해결했다. 알파벳인 경우에는 해당하는 숫자를 바로 스택에 push해주었다. 연산자인 경우에는 스택에서 두 피연산자를 pop해준 뒤 ( 두번 ) 이를 연산자를 이용하여 계산하고, 이를 다시 스택에 push해주었다. 위의 두가지를 반복하여 답을 구하였고, System.out.format()함수를 이용하여 소수점 두자리 까지 표현하였다. 코드 package Algorithms; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i..
-
[ 알고리즘 ] 백준 1918번 후위표기식프로그래밍/알고리즘 2019. 5. 2. 15:52
백준 1918번 후위표기식 문제 링크 이 문제는 Stack을 이용하는 문제로 평소 학교 공부에서도 많이 풀어보았다고, 생각해서 쉽게 풀 수 있을 것이라 생각했는데 쉽지 않았다. 결국은 다른 사람의 답을 참고하여 해결하였다. 생각해보니 평소에는 후위표기식으로 표현된 식을 계산하는 문제를 많이 풀어보았지, 주어진 식을 후위표기식으로 변환을 시키는 코드를 짜본 적은 없는 것 같다. 문제 풀이 입력받은 문자열을 차례로 비교하는데 총 네가지의 경우가 있다. 알파벳 연산자 열린 괄호 닫힌 괄호 각 경우에 따라서 출력하거나 스택에 넣거나, 스택에 있는 것을 꺼내주는 식으로 해결한다. 먼저 알파벳인 경우에는 그냥 바로 출력해준다. 나는 그냥 StringBuilder를 하나 만들어서 거기다 계속 append해줬다. 연산..