반응형
https://www.acmicpc.net/problem/1271
- 문제
- 문제 풀이
백준 1271번 엄청난 부자2는 브론즈 5 난이도의 수학 문제이다. 이 문제에서는 큰 숫자 n과 m이 입력으로 주이진다. 그리고 n과 m을 나눈 값과 그 나머지를 출력해주기만 하면 되는 간단한 문제이다. 하지만 이 문제는 난이도의 비해 정답율이 33% 정도로 매우 낮은 것을 확인할 수 있다. 이 이유는 이 문제는 큰 정수, 즉, int형이나 long형의 범위를 초과하는 숫자가 입력으로 주어지기 때문이다. 이 경우 BigInteger를 이용해야 한다.
BigInteger의 이론을 공부하고 싶으면 밑에 있는 링크를 참고하면 되겠다.
https://propercoding.tistory.com/33
이 문제의 해답은 간단하다. BigInteger형으로 n과 m을 우선 입력받는다. 그리고 BigInteger 클래스에 있는 divide 함수와 remainder 함수를 이용해서 n을 m으로 나눈 값과 나머지를 출력해주면 된다.
자세한 코드는 밑에 있다.
- 코드
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));
StringTokenizer st = new StringTokenizer(br.readLine());
//n과 m 입력받기
BigInteger n = new BigInteger(st.nextToken());
BigInteger m = new BigInteger(st.nextToken());
System.out.print(n.divide(m) + "\n" + n.remainder(m));
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 2167번 : 2차원 배열의 합 – JAVA [자바] (0) | 2022.08.02 |
---|---|
[백준] 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰 – JAVA [자바] (0) | 2022.08.02 |
[백준] 10991번 : 별 찍기 - 16 – JAVA [자바] (0) | 2022.08.01 |
[백준] 2953번 : 나는 요리사다 – JAVA [자바] (0) | 2022.08.01 |
[백준] 5339번 : 콜센터 – JAVA [자바] (0) | 2022.08.01 |
댓글