티스토리 뷰
문제
갑부 최백준 조교는 동전을 최소로 바꾸는데 성공했으나 김재홍 조교가 그 돈을 발견해서 최백준 조교에게 그 돈을 나누자고 따진다.
그 사실이 전 우주로 알려지자 우주에 있던 많은 생명체들이 자신들에게 돈을 분배해 달라고 당장 달려오기 시작했다.
프로토스 중앙 우주 정부의 정책인, ‘모든 지적 생명체는 동등하다’라는 규칙에 입각해서 돈을 똑같이 분배하고자 한다.
한 생명체에게 얼마씩 돈을 줄 수 있는가?
또, 생명체들에게 동일하게 분배한 후 남는 돈은 얼마인가?
입력
첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수)
출력
첫째 줄에 생명체 하나에게 돌아가는 돈의 양을 출력한다. 그리고 두 번째 줄에는 1원씩 분배할 수 없는 남는 돈을 출력한다.
문제를 읽고 나서 코드를 적는데는 얼마 걸리지 않았는데
런타임 오류가 발생햇다.
왜지? 하는 마음에 1 ≤ m ≤ n ≤ 101000 부분을 다시 봤다.
Long도 넣었으나 런타임 에러..
방법을 찾던 중 BigInteger이라는 것을 찾게 됬다.
범위
int : -2,147,483,648 ~ 2,147,483,647
long : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
BigInteger : 무한대
정답 코드
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
BigInteger a = in.nextBigInteger();
BigInteger b = in.nextBigInteger();
System.out.println(a.divide(b));
System.out.println(a.remainder(b));
}
}
import java.math.BigInteger; 로 선언을 해주고
BigInteger a = in.nextBigInteger();
BigInteger b = in.nextBigInteger();
사용을 해주면 된다.
BigInteger 특이한 점:
1. BigInteger을 초기화하기 위해서는 문자열을 인자로 넘겨줘야된다.
BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("10000");
2. 사칙연산이 안된다.
문자열 형태로 이루어져 있기에 사칙연산이 안된다.
더하기 : add()
빼 기 : subtract()
곱하기 : multiply()
나누기 : divide()
'알고리즘' 카테고리의 다른 글
백준 4673: 셀프 넘버 (실버) (0) | 2024.03.27 |
---|---|
백준 10951번 (A+B -4) (0) | 2024.03.27 |
중성화 여부 파악하기 (Oracle) (0) | 2024.03.20 |
조건에 맞는 개발자 찾기 (프로그래머스 MYSQL) (0) | 2024.03.20 |
백준 3052 나머지 Java (1) | 2024.02.04 |
- Total
- Today
- Yesterday
- form
- wsl
- CSS
- 자료구조
- 김영한
- 그린대학교
- (롯데)기업맞춤형 프로젝트
- post-redirct-get
- Queue
- static
- docker
- Git
- 덱
- 메시지 오류
- 국비교육
- 프로그래머스
- 인텔리제이
- deque
- 공공데이터포탈
- JPA
- 해시
- MySQL
- 국비지원
- 국비
- 정보처리기사
- 스택
- 오류
- JWT
- 백준
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |