[BOJ_JAVA] 1271번 엄청난 부자

6230 단어 Java백준bojJava
import java.util.Scanner;

public class P1271 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int money = sc.nextInt();
		int num = sc.nextInt();
		
		System.out.println(money/num);
		System.out.println(money%num);
	}

}

런타임 에러 (InputMismatch)

쉬운 문제라고 생각을 했는데 어째서인지 런타임 에러가 떴다.

그래서 찾아보니 BigInteger을 써야 한다는 것을 알게 되었다

입력: 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 10의 1000승, m과 n은 10진수 정수)

이기 때문에 엄청 큰 값이 필요했던 것이다...

BigInteger라는 게 있는 지도 몰랐다 ㅋㅋㅋㅋㅋㅋㅋ BigInteger은 문자열이기 때문에 무한하게 담을 수 있지만 사칙 연산이 안 된다 한다.

그래서 BigInteger 클래스의 메서드를 사용해야 한다.

더하기 => add

빼기 => substract

곱하기 => multiply

나누기 => divide

나머지 => remainder

이렇게 int에서 BigInteger을 사용했더니 에러가 고쳐졌다.

import java.math.BigInteger;
import java.util.Scanner;

public class P1271 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		BigInteger money = sc.nextBigInteger();
		BigInteger num = sc.nextBigInteger();
		
		System.out.println(money.divide(num));
		System.out.println(money.remainder(num));
	}

}

좋은 웹페이지 즐겨찾기