코딩테스트 풀이/JAVA
[LeetCode/Easy] 69. Sqrt(x)
무지맘
2022. 8. 23. 23:29
1. Input
1) 음이 아닌 정수를 담은 int 변수 x
2. Output
1) x의 제곱근을 담은 int 변수
2) 제곱근이 소수로 나올 경우, 정수 부분만 반환
3. Constraint
1) 0 <= x <= 2^31 - 1
2) Math.pow나 x**0.5 등 built-in 함수, 연산자 사용 금지
4. Example
Input: x = 8
Output: 2
5. Code
1) 첫 코드(2022/07/15)
long i = 1;
while(true){
if((long)x<i*i)
break;
i++;
}
return (int)i-1;
- 제곱근의 정수 부분을 반환해야 하므로, i의 제곱보다 작은 경우 i-1을 반환하게끔 설계
- 중간에 계산하다보면 숫자가 커지므로 long 타입으로 계산 후, 반환 값은 int이므로 형변환을 해서 반환