입출력과 사칙연산의 다섯 번째 문제.
실제 정답과 출력값의 절대오차 또는 상대오차가 10^-9 이하여야 정답으로 인정된다는 조건이 있다.
소수점 이하 값까지 출력하려면 float이나 double을 사용해야 하는데
float은 소수점 이하 7자리까지, double은 15자리까지 정밀도를 가지므로
이 문제를 해결하기 위해선 double을 사용해야 한다.
답으로 제출한 코드는 다음과 같다.
이렇게 처음부터 double a, b에 입력값을 넣을 수도 있고
다음과 같이 int a, b로 받은 다음 출력할 때 double로 변환해도 된다.
이 방식에선 Scanner 대신 BufferedReader를 사용했다.
윗줄이 BufferedReader를 사용한 코드, 아랫줄이 Scanner를 사용한 코드이다.
BufferedReader를 사용했을 때 속도 면에서 더 빠른 것을 볼 수 있다.
1, 3을 입력하니 다음과 같은 결과가 나왔다.
'코딩 테스트 공부 > 백준 문제풀기' 카테고리의 다른 글
[JAVA] 백준 - 10926번 : ??! (0) | 2023.01.12 |
---|---|
[JAVA] 백준 - 10869번 : 사칙연산 (0) | 2023.01.12 |
[JAVA] 백준 - 10998번 : AxB (0) | 2023.01.12 |
[JAVA] 백준 - 1001번 : A-B (0) | 2023.01.12 |
[JAVA] 백준 - 1000번 : A+B (0) | 2023.01.12 |