본문 바로가기

SWEX2

[SW Expert Academy] 1232. 사칙연산 1232. 사칙연산 문제) 사칙연산으로 구성되어 있는 식은 이진 트리로 표현할 수 있다. 아래는 식 “(9/(6-4))*3”을 이진 트리로 표현한 것이다. 임의의 정점에 연산자가 있으면 해당 연산자의 왼쪽 서브 트리의 결과와 오른쪽 서브 트리의 결과를 사용해서 해당 연산자를 적용한다. 사칙연산 “+, -, *, /”와 양의 정수로만 구성된 임의의 이진트리가 주어질 때, 이를 계산한 결과를 출력하는 프로그램을 작성하라. 단, 중간 과정에서의 연산은 실수 연산으로 하되, 최종 결과값이 정수로 떨어지지 않으면 정수부만 출력한다. 위의 예에서는 최종 결과값이 13.5이므로 13을 출력하면 된다. [제약 사항] 정점의 총 수 N은 1≤N≤1000. [입력] 각 테스트 케이스의 첫 줄에는 각 케이스의 트리가 갖는 .. 2022. 3. 17.
[SW Expert Academy] 1223. 계산기2 1223. 계산기2 문제) 문자열로 이루어진 계산식이 주어질 때, 이 계산식을 후위 표기식으로 바꾸어 계산하는 프로그램을 작성하시오. 예를 들어 “3+4+5*6+7” 라는 문자열로 된 계산식을 후위 표기식으로 바꾸면 다음과 같다. "34+56*+7+" 변환된 식을 계산하면 44를 얻을 수 있다. 문자열 계산식을 구성하는 연산자는 +, * 두 종류이며 피연산자인 숫자는 0 ~ 9의 정수만 주어진다. [입력] 각 테스트 케이스의 첫 번째 줄에는 테스트 케이스의 길이가 주어진다. 그 다음 줄에 바로 테스트 케이스가 주어진다. 총 10개의 테스트 케이스가 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 답을 출력한다. 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13.. 2022. 2. 25.