본문 바로가기
python-algorithm

백준 5613 계산기 프로그램

by 무적김두칠 2022. 10. 26.

https://www.acmicpc.net/problem/5613

 

5613번: 계산기 프로그램

입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
operation='('+str(input())
while 1:
    s=input()
    if s=='=':
        break
    operation += s
    if s.isnumeric():
        operation+=')'
if operation.count('(')<operation.count(')'):
    operation='('*(operation.count(')')-operation.count('('))+operation
operation=operation.replace('/','//')
print(eval(operation))
cs

eval 함수를 쓰면 쉽게 구현가능함 -> 문자열대로 실행하는 함수
나누기는 문제 조건상 소숫점 버려야함(Line 11)

Use eval()
divide is limited in problem condition Like line 11

반응형

'python-algorithm' 카테고리의 다른 글

백준 2635 수 이어가기  (0) 2022.10.27
백준 16395 파스칼의 삼각형  (0) 2022.10.27
백준 4447 좋은놈 나쁜놈  (0) 2022.10.26
백준 25784 Easy-to-Solve Expressions  (0) 2022.10.26
백준 25704 출석 이벤트  (0) 2022.10.26

댓글