민스씨의 일취일장

알고리즘 | 백준 | 자바 | 숫자 10093 틀렸습니다 30점 해결하기 본문

Data Structure & Algorithm/Java

알고리즘 | 백준 | 자바 | 숫자 10093 틀렸습니다 30점 해결하기

읻민스 2023. 6. 22. 10:59
반응형

백준 숫자 10093 문제해결

백준 숫자 10093 썸네일 이미지이다.
백준 10093 숫자

 

10093번: 숫자

두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오.

www.acmicpc.net

숫자 10093은 주어진 두 수 사이의 모든 정수를 출력하는 간단한 문제이다. 그런데 아래 사진과 같이 엄청 많이 틀렸다.

백준 숫자 10093 출력 결과 모습이다.
출력결과

LONG

첫 번째는 데이터 타입이다. 서브태스크의 경우 입력받는 수가 최대 10^15까지 가능하다. 이는 Integer가 표현하는 범위를 넘어 더 큰 정수형인 long을 사용해줘야 한다.

BufferedWriter에서 Print

시간 단축을 위해 빠른 출력이 가능한 BufferedWriter를 최대한 사용하려고 노력하고 있다. 그런데 BufferedWirter도 기본 크기가 정해져 있기 때문에 출력하려는 데이터가 너무 길어지면 오버플로우가 발생할 수 있다. 그래서 비효율 적으로 보이더라도 Print 함수를 사용해야 한다.

반례

두 수가 같은 경우

두 수가 같은 경우에는 두 수 사이에 수가 존재하지 않기 때문에 아무것도 출력하지 않으면 된다 생각했는데 결과값으로 첫째줄에는 출력할 수의 개수를 출력해야 한다. 따라서 두 수가 같은 경우에는 0을 하나 출력해줘야 한다.

두 번째 수가 첫 번째 수보다 큰 경우

당연히 첫번째 입력받는 수가 작은 수라고 생각했는데 그런 조건은 적혀있지 않았다. 따라서 큰 수가 어떤 수인지 판별하는 조건문이 한 번 들어가줘야 한다.

728x90
반응형