[2020-11-18] 정수 제곱근 판별도움말
2020. 11. 18. 16:35ㆍ코딩테스트
푼 시간 : 30분
언어 : 자바
programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
문제를 풀때 Math를 쓰기 싫어서 최대한 고민을 했었다.
그치만 제곱근을 찾을 방법이면서, 가장 빠른 방법은 sqrt를 쓰는 방법 밖에 없는 것 같아 썼다.
있을지는 모르겠지만 다음에는 안 쓰고 풀 수 있을만한 방법을 찾고싶다.
class Solution {
public long solution(long n) {
long answer = 0;
double k=Math.sqrt((double)n);
// long을 double로 바꿔준다.
if((long)k*k==n)
// sqrt로 제곱근을 바꾸고나서 정말 제곱근인지 확인
answer=(long)((k+1)*(k+1));
else
answer=-1;
return answer;
}
}
'코딩테스트' 카테고리의 다른 글
[2020-11-19] 짝수와 홀수 (0) | 2020.11.19 |
---|---|
[2020-11-19] 제일 작은 수 제거하기 (0) | 2020.11.19 |
[2020-11-17] 정수 내림차순으로 배치하기 (0) | 2020.11.17 |
[2020-11-16] 이상한 문자 만들기 (0) | 2020.11.16 |
[2020-11-13] 약수의 합 (0) | 2020.11.13 |