-
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
https://github.com/JUNGSOONIL/JAVA/blob/main/SW%EF%BB%BFAcademy%201223
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 계산식이 주어지면 후위 연산으로 바꿔주고 난 뒤
그 계산식을 계산한 결과를 출력해 주는 문제다.
스택을 이용해서 후위 연산을 만들어 주었다.
처음에 숫자일 경우에는 String형 변수에 숫자를 추가해 주고
만약 *가 온다면 스택에 push 해준다 (+랑 *중 *가 우선순위가 높기 때문에)
+가 온다면 스택에 있는 모든 연산자를 빼서 변수에 추가하고 +를 넣어준다.
이런 식으로 하고 나 먼 마지막에 모든 연산자를 빼서 변수에 추가해 주면 된다.
후위 연산의 계산은 이번에는 숫자를 스택에 넣어주고 문자를 만나면 숫자를 2개를 가져와 계산하고 다시 푸시 해주고 이걸 계속 반복해 주면 되고 최종 결괏값은 스택에 푸시 되어있으니
출력 부분에서 최종적으로 팝 해주면 끝이 난다.
728x90'알고리즘 > SW Academy' 카테고리의 다른 글
SW Academy 3289 서로소 집합 JAVA (0) 2021.11.02 SW Academy 3234 준환이의 양팔저울 JAVA (0) 2021.11.02 SW Academy 1247 최적 경로 JAVA (0) 2021.11.02 SW Academy 4012 [모의 SW 역량테스트] 요리사 JAVA (0) 2021.11.01 SW Academy 6808 규영이와 인영이의 카드게임 JAVA (0) 2021.11.01 댓글