공부/CodingTest

goorm CodingTest (A+B(2)) 기록

726582776982 2024. 9. 8. 17:49

-------- 문제 -------

 

-------- 해당 문제에 대한 풀이 -------

 

import java.io.*;
import java.text.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String[]inputArr = input.split(" ");

double a = Double.parseDouble(inputArr[0]);
double b = Double.parseDouble(inputArr[1]);
double result = a+b;
DecimalFormat df = new DecimalFormat("0.000000");
String formattedResult = df.format(result);

System.out.println(formattedResult);


}
}

 

---------------------------------------

 

문제점.

 

1. 실수 범위를 초과한 경우 

2. 초반엔 Math.round, Math.floor를 사용하여 반올림 또는 내림으로처리하였으나, 테스트 케이스가 통과되지않음.

3. -9.9999999999999 + 10을 한 경우 0이 표시됨.

 

해결방안.

1. int -> double

2. DecimalFormat 확인 ("#.######") 소수점 6번째 자리 까지

3. 소수점 6번째 자리 까지 0으로 표기되는데 #.######을 사용한 경우 정수값 0 이 표시됨에 따라 format기준값을 0.000000으로 변경하여 소수점6번째 자리까지 표시가 되도록 변경.