백준(Python) 풀이/수학

백준(Python) 5613번 계산기 프로그램 풀이

개발윗미 2021. 11. 10. 13:58

Python으로 구현한 5613번 계산기 프로그램 문제 풀이입니다.

 

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

 

5613번: 계산기 프로그램

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

www.acmicpc.net


first = int(input())

while True :
  oper = input()
  if oper == '=' :
    break
  n = int(input())
  if oper == '+' :
    first += n
  elif oper == '-' :
    first -= n
  elif oper == '*' :
    first *= n
  else :
    first //= n

print(first)

 

1. 첫번째 입력값은 피연산자 즉, 정수형 숫자이기 대문에 먼저 입력받아 first에 할당한다.

 

2. while문을 통해 입력받은 값이 '='일 때까지 반복 수행한다.

 

3. 반복문 내에서는 연산자와 피연산자를 입력받아 다시 연산자의 값을 확인한다.

 

4. 값이 '+'일 경우 first에 입력받은 n을 더하여 다시 first 값을 갱신한다.

 

5. 값이 '-'일 경우 first에 입력받은 n을 빼고 다시 first 값을 갱신한다.

 

6. 값이 '*'일 경우 first에 입력받은 n을 곱하여 다시 first 값을 갱신한다.

 

7. 값이 '/'일 경우 first에 입력받은 n을 나눈 몫을 구하여 다시 first에 값을 갱신한다.