17번

nacSeo (낙서)·2022년 12월 9일
0

DailyCoding

목록 보기
17/28

입력받은 수의 제곱근을 소수점 두 자리까지 String타입으로 리턴하는 문제였다. Math.sqrt함수도 사용하지 말라고 명시되어 있기에, 문제를 보고 처음으로 손을 못댄 문제였다.. 다행히 문제 밑에 힌트를 읽어서 나름 방향성을 잡을 수 있었다.
우선, 소수점 두 자리까지는 String.format() 함수를 사용하면 되겠다. 소수점 두 자리까지니, String.format("%.2f", num)을 최종적으로 리턴한다.

중요한 건, 제곱근을 구하는 방법이다. Math.sqrt를 사용못하는 상황에서 힌트를 보니 바빌로니아 법의 점화식을 활용하여 푸는 게 가능하다고 명시되어 있었다.

바빌로니아 법 참고 문서
https://ko.wikipedia.org/wiki/%EB%B0%94%EB%B9%8C%EB%A1%9C%EB%8B%88%EC%95%84_%EB%B2%95

솔직히 식을 100%까지는 이해를 못하겠다 ^^,, 그렇지만 개념에 대해선 이해가 가고, 이를 통해 java에서 구현시켜보면 임의의 수를 두고 0부터 그 수까지 반복문을 돌며(수렴할 때) 임의의 수에다 0.5 * (num / 임의의수 * 임의의수)를 대입해주면 되겠다.

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글