문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

6036 : 수식 균형 검사 + 계산

•시간제한: 2.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

6036 : 수식 균형 검사 + 계산

시간 2.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

소괄호와 사칙연산자 및 한 자리 자연수로 구성된 중위 표기식 수식이 주어집니다.
해당 수식이 올바른 괄호 균형과 유효한 연산 구조를 가졌는지 검사하고, 유효한 수식이라면 계산 결과를 출력하십시오.
만약 괄호 쌍이 맞지 않거나 연산자 배치가 규칙에 맞지 않는 잘못된 수식이라면 INVALID를 출력해야 합니다.

[제약 조건]
• 테스트케이스 수 $T$: $1 \le T \le 50$ (정수)
• 각 수식 길이: $1 \le$ 길이 $\le 200$
• 피연산자는 0~9, 연산자는 +, -, *, /

입력 설명

첫째 줄에 테스트케이스 수 $T$가 주어집니다. ($1 \le T \le 50$)
둘째 줄부터 $T$개의 줄에 수식이 공백 없이 주어집니다. (길이 $\le 200$)

출력 설명

각 수식에 대해 유효하면 정수 연산 결과를, 그렇지 않으면 INVALID를 줄바꿈하여 출력합니다.

입력 예시
COPY
복사되었습니다!

3
(3+4)*5
3+*4
((3+4)

출력 예시
COPY
복사되었습니다!

35
INVALID
INVALID

도움

스택으로 괄호 쌍을 먼저 검사한 뒤, 후위 표기식으로 변환을 시도할 때 피연산자와 연산자의 개수 균형 및 연산 불가 상황을 감지해 INVALID를 판단합니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘