Keep Going

빠르지 않아도 꾸준히

백준/Bronze

[브론즈 5] [Java] 백준 1271번: 엄청난 부자2

금동진 2025. 3. 5. 09:21

아이디어

그저 단순히 아주 큰 정수인 N을 M으로 나누어 나온 몫과 나머지를 출력하면 되는 문제이지만

N이 10의 1000승이라는 굉장히 큰 수이기 때문에 long으로도 커버가 되지 않는다.

이때 BigInteger이라는 객체를 이용해야 한다.

 

이를 코드로 구현하면 다음과 같다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;

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

        BigInteger N = new BigInteger(st.nextToken()); // 너무 큰 수는 BigInteger 사용해야 함.
        BigInteger M = new BigInteger(st.nextToken());


        System.out.println(N.divide(M));
        System.out.println(N.remainder(M));
    }
}

 


아직 초보라 많이 서툴고 틀린 부분이 있을 수 있습니다. 고수분들께서 조언해주실만한 사항이 있으면 감사히 받겠습니다.