Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- lv0
- 백준
- 클라이언트
- 프로그래머스 자바
- 버퍼
- Queue
- 스택
- Lv1
- 큐
- COS Pro
- 프로그래머스 풀이
- StringTokenizer
- 알고리즘
- 자바
- Stack
- 스프링부트 도커 배포
- 스프링부트 도커
- SWEA
- 백준 N과 M 자바
- 프로그래머스
- 이진수 변환
- lv2
- 프로그래머스 문자열 정렬
- 삼각형의 완성조건
- 오름차순 정렬
- 스프링부트 도커로 배포
- java
- Programmers
- index of
- 문자열
Archives
- Today
- Total
mun dev
[Java] BigInteger 매우 큰 정수 표현 본문
매우 큰 정수 표현 BigInteger
백준 문제를 푸는데 Small Input, Large Input과 같은 식으로 입력 또는 출력 값의 범위가 나눠져있었다.
long타입을 써도 런타임 에러가 일어나길래 찾아보다가 BigInteger를 알게 되었다.
거의 무한에 가까운 수를 표현할 때에는 BigInteger 클래스를 사용하면 된다!
사칙연산을 하려면 BigInteger의 메서드를 사용해야 하는데
밑에 표와 같이 더하기는 add, 빼기는 substract, 곱하기는 multiply, 나누기는 divide, 나머지는 remainder 메서드를 사용하여 연산하면 된다.
더하기 | add |
빼기 | substract |
곱하기 | multiply |
나누기 | divide |
나머지 | remainder |
밑에는 백준 엄청난 부자2 문제 풀이 코드이다.
BigInteger를 사용하니 런타임 에러없이 잘 수행할 수 있었다!
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
BigInteger n=sc.nextBigInteger();
BigInteger m=sc.nextBigInteger();
System.out.println(n.divide(m));
System.out.println(n.remainder(m));
sc.close();
}
}
'공부 > Java' 카테고리의 다른 글
[Java] BufferedReader 와 Bufferedwriter 사용법 (0) | 2023.01.30 |
---|---|
[Java] 특정 문자 위치 찾기 indexOf (0) | 2023.01.11 |
[Java] 자바 문자열에서 특정 문자 제거하기 (0) | 2023.01.02 |
[Java] 자바 문자열 반복 (0) | 2022.12.30 |
[Java] 배열 정렬하기(오름차순, 내림차순) (0) | 2022.12.23 |