본문 바로가기
코딩테스트 준비/백준

[백준] 15792번 - A/B - 2 [Java]

by mwzz6 2025. 2. 2.

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

 

[백준] 15792번 - A/B - 2 [Java]
[백준] 15792번 - A/B - 2 [Java]


1.  아이디어

 

소수점에 대한 정밀도가 매우 높은 문제로 BigDecimal 클래스를 활용하면 해결할 수 있다.


2. 문제풀이

 

BigDecimal 클래스의 divide 메서드로 나눗셈을 수행할 수 있으며 정밀도에 맞춰 scale에 10000, 반올림을 하는 방식으로 적용했다.


3. 코드

 

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

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

        BigDecimal A = new BigDecimal(st.nextToken());
        BigDecimal B = new BigDecimal(st.nextToken());

        System.out.println(A.divide(B, 10000, BigDecimal.ROUND_HALF_UP));
    }
}

4. 후기