λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ•Œκ³ λ¦¬μ¦˜/μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œν’€μ΄

λ°±μ€€ - 5613번) 계산기 ν”„λ‘œκ·Έλž¨ java

by sh119 2024. 7. 1.

문제

λ§μ…ˆ, λΊ„μ…ˆ, κ³±μ…ˆ, λ‚˜λˆ—μ…ˆμ„ ν•  수 μžˆλŠ” 계산기 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“œμ‹œμ˜€.

 

μž…λ ₯

μž…λ ₯의 각 μ€„μ—λŠ” μˆ«μžμ™€ +, -, *, /, =쀑 ν•˜λ‚˜κ°€ κ΅λŒ€λ‘œ μ£Όμ–΄μ§„λ‹€. 첫 번째 쀄은 μˆ˜μ΄λ‹€. μ—°μ‚°μžμ˜ μš°μ„  μˆœμœ„λŠ” μƒκ°ν•˜μ§€ μ•ŠμœΌλ©°, μž…λ ₯ μˆœμ„œλŒ€λ‘œ 계산을 ν•˜κ³ , =κ°€ μ£Όμ–΄μ§€λ©΄, κ·Έλ•ŒκΉŒμ§€μ˜ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€. μ£Όμ–΄μ§€λŠ” μˆ˜λŠ” 108 μ΄ν•˜μ˜ μ–‘μ˜ μ •μˆ˜μ΄λ‹€. 계산 쀑 κ²°κ³ΌλŠ” 0 λ˜λŠ” μŒμˆ˜κ°€ 될 수 μžˆμ§€λ§Œ, -108 ~ 108 λ²”μœ„λ₯Ό λ„˜μ§€λŠ” μ•ŠλŠ”λ‹€. 또, λ‚˜λˆ—μ…ˆμ—μ„œ μ†Œμˆ˜μ μ€ 버린닀. λ”°λΌμ„œ, 100/3*3 = 99이닀.

ν”Όμ œμˆ˜κ°€ 음수일 λ•Œ λ‚˜λˆ—μ…ˆμ„ ν•˜λŠ” κ²½μš°λŠ” μž…λ ₯으둜 μ£Όμ–΄μ§€μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯

첫째 쀄에 계산 κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€.

 

λ‚΄κ°€  ν‘Ό μ½”λ“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int answer = Integer.parseInt(br.readLine());

        while(true){
            String temp = br.readLine();
            if(temp.equals("=")){
                break;
            }else if(temp.equals("+")){
                answer += Integer.parseInt(br.readLine());
            }else if(temp.equals("-")){
                answer -= Integer.parseInt(br.readLine());
            }else if(temp.equals("*")){
                answer *= Integer.parseInt(br.readLine());
            }else if(temp.equals("/")){
                answer /= Integer.parseInt(br.readLine());
            }
        }

        System.out.println(answer);

    }
}