[BOJ_JAVA] 1271번 엄청난 부자
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));
}
}
Author And Source
이 문제에 관하여([BOJ_JAVA] 1271번 엄청난 부자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rachaen/BOJJAVA-1271번-엄청난-부자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)