반응형
https://www.acmicpc.net/problem/2338
소스코드
import java.io.*;
import java.math.BigInteger;
class P2338 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// int 형, long 형보다 큰 수가 들어올 수 있는 경우 => BigInteger
BigInteger a = new BigInteger(br.readLine());
BigInteger b = new BigInteger(br.readLine());
sb.append(a.add(b)).append("\n")
.append(a.subtract(b)).append("\n")
.append(a.multiply(b));
System.out.println(sb);
}
}
풀이
★ 브론즈 5문제인데 정답률이 50프로길래 뭔가 있겠구나 싶었습니다 ! 그래서 변수의 타입을 int형이 아닌 long형으로 지정해줬습니다. 그 이유는 웬만하면 long형의 데이터 표현 범위 안에 들어오기 때문입니다 !
★ 하지만 long 타입으로도 런타임 에러가 떴고, 다른 방식이 있나 구글링을 해보니 BigInteger라는 클래스를 활용하면 값의 무한대를 표현할 수 있다고 합니다.
★ BigInteger 클래스의 특이점은 문자열을 인자값으로 넘겨줘야 합니다. 또한 문자열이기 때문에 사칙연산이 되지 않습니다 ! 그래서 클래스에서 지원하는 add, subtract, multiply와 같은 메서드로 결과값을 구해줬습니다 :)
★ 자세한 설명은 다음 블로그를 참고하시면 좋을 거 같습니다.
https://coding-factory.tistory.com/604
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준 알고리즘] 2042번: 구간 합 구하기 (JAVA) (0) | 2024.02.02 |
---|---|
[백준 알고리즘] 20529번: 가장 가까운 세 사람의 심리적 거리 (JAVA) (0) | 2024.01.31 |
[백준 알고리즘] 26265번: 멘토와 멘티 (JAVA) (1) | 2024.01.25 |
[백준 알고리즘] 7662번: 이중 우선순위 큐 (JAVA) (0) | 2024.01.23 |
[백준 알고리즘] 14940번: 쉬운 최단거리 (JAVA) (0) | 2024.01.20 |