[BackJoon]1271, 엄청난 부자2[BufferedReader, NumberFormat]
Algorithm/BackJoon

[BackJoon]1271, 엄청난 부자2[BufferedReader, NumberFormat]

목차

- 백준시작

- 구현코드 및 문제

- 결과 및 과정

- 디버깅


백준시작!

 

아래는 solved.ac 라는 사이트입니다.

백준의 문제를 풀고 롤처럼 티어를 올릴 수 있어요!

 

https://solved.ac/

 

solved.ac

우리 모두가 만들어가는알고리즘 문제해결 학습의 이정표 solved.ac는 Baekjoon Online Judge 문제들에 태그와 난이도를 붙이는 커뮤니티 프로젝트입니다. 현재 12,383개 문제에 난이도 정보를 제공하고

solved.ac

 

기초부터 알고리즘 공부를 해봅시다!

 

 

 

 


구현코드 및 문제

 

문제

https://www.acmicpc.net/problem/1271

 

1271번: 엄청난 부자2

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

www.acmicpc.net

 

구현 코드

 

 

BufferedReaderInputStreamReader안의 값을 받아옵니다

그리고 뛰어쓰기를 해서 값을 받아오기 때문에 " " split 해줍니다.

여기서 뛰어쓰기도 문자열로 인식을 합니다.

 


결과 및 과정

 

NumberFormat에러가 나는 이유는 10의 1000승의 정수 값을 받아야하는데 

첫 시도로 parseInt를 하였지만 값이 너무커 Int의 범위를 벗어납니다. 

 

그래서 구글링해서 BigInteger를 사용하여, 안에 있는 메서드들을 활용했습니다.

 


디버깅

 

 

 

 

이 문서를 통해 자료형에서 벗어나거나 null값으로 들어갔을때 NumberFormat Exception이 발생하는 것을 

알았습니다

 

Java의 런타임 에러들

 

 


 

Reference

https://www.acmicpc.net/problem/1271

 

1271번: 엄청난 부자2

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

www.acmicpc.net

 

https://www.acmicpc.net/help/rte/NumberFormat

 

런타임 에러 도움말 (NumberFormat)

NumberFormat java.lang.NumberFormatException은 문자열을 수로 변환할 때 발생하는 에러입니다. import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedR

www.acmicpc.net