본문 바로가기
백준

[백준] 2935번 : 소음 – JAVA [자바]

by Hongwoo 2022. 8. 9.
반응형

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

 

2935번: 소음

수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 2935번 소음은 브론즈 3 난이도의 수학 및 문자열 문제이다. 이 문제에서는 양의 정수 A와 B가 주어지고 그리고 연산자 + 또는 *이 주어진다. 연산자에 맞게 결과를 출력하면 된다. 이 문제는 문제의 난이도의 비해 정답률이 낮다. 그 이유는 바로 A와 B의 범위가 long형의 범위를 초과하기 때문이다. 따라서, 이 문제에서는 큰 정수를 다루는 BigIntger를 사용해야 한다.

 

BigInteger에 대해서 더 공부하고 싶으면 밑에 있는 링크를 참고하면 되겠다.

 

https://propercoding.tistory.com/33

 

[알고리즘] 큰 숫자 (정수) BigInteger 사용법 - JAVA [자바]

목차 BigInteger를 사용해야 하는 이유 가끔 알고리즘 문제들을 풀다 보면 큰 수를 처리해야 될 때가 있다. 여기서 큰 수란 int형의 범위를 넘어가고 심지어 long 형의 범위를 넘어갈 때이다. int형의

propercoding.tistory.com

 

문제를 풀 때 BigIntger에 대해서만 알면 어려운 거는 없다. 정수 A와 B를 BigInteger로 입력받고 연산자도 입력받아서 그 연산자에 맞게 답을 출력만 하면 된다.

 

자세한 코드는 밑에 있다.

 


  • 코드

 

import java.io.*;
import java.math.BigInteger;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BigInteger a = new BigInteger(br.readLine());
        String op = br.readLine();
        BigInteger b = new BigInteger(br.readLine());
        if (op.equals("*")) {
            System.out.print(a.multiply(b));
        } else {
            System.out.print(a.add(b));
        }
    }
}

 

 

반응형

댓글