[Bronze III] 계산기 프로그램 - 5613
5613번: 계산기 프로그램
입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출
www.acmicpc.net
성능 요약
메모리: 17764 KB, 시간: 220 ms
분류
사칙연산(arithmetic), 구현(implementation), 수학(math)
문제 설명
덧셈, 뺄셈, 곱셈, 나눗셈을 할 수 있는 계산기 프로그램을 만드시오.
입력
입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출력한다. 주어지는 수는 108 이하의 양의 정수이다. 계산 중 결과는 0 또는 음수가 될 수 있지만, -108 ~ 108 범위를 넘지는 않는다. 또, 나눗셈에서 소수점은 버린다. 따라서, 100/3*3 = 99이다.
피제수가 음수일 때 나눗셈을 하는 경우는 입력으로 주어지지 않는다.
출력
첫째 줄에 계산 결과를 출력한다.
답 : while true로 무한 루프를 만든 뒤
= 값이 들어오면 종료하도록하고,
각 부호가 오면 변수에 연산을 해준다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
while (true) {
String str = sc.nextLine();
if (str.equals("="))
break;
switch (str) {
case "+":
a += sc.nextInt();
break;
case "-":
a -= sc.nextInt();
break;
case "*":
a *= sc.nextInt();
break;
case "/":
a /= sc.nextInt();
break;
default:
break;
}
}
System.out.println(a);
sc.close();
}
}
'algorithm > 백준' 카테고리의 다른 글
[백준] 알파벳 개수 - 10808 Java[자바] (0) | 2023.01.27 |
---|---|
[백준] 홀수 - 2576 Java[자바] (0) | 2023.01.26 |
[백준] 상근날드 - 5543 Java[자바] (0) | 2023.01.24 |
[백준] 줄번호 - 4470 Java[자바] (0) | 2023.01.23 |
[백준] 주사위 세개 - 2480 Java[자바] (0) | 2023.01.22 |