python
: n ** 0.5
의 type 은 float
이다. int
로 형 변환을 해도 값이 동일하다면, n은 어떤 양의 정수 x의 제곱이다.
kotlin
: n의 제곱근을 구하고, 제곱근을 제곱했을 때 동일한 값이면 n은 어떤 양의 정수 x의 제곱이다.
def solution(n):
sqrt = n ** 0.5
if int(sqrt) == sqrt:
return int(sqrt + 1) ** 2
else:
return -1
fun solution(n: Long): Long {
val sqrt = kotlin.math.sqrt(n.toDouble()).toLong()
return if(sqrt * sqrt == n) {
(sqrt + 1) * (sqrt + 1)
} else {
-1
}
}
kotlin
에서 제곱근과 제곱을 구하기. (n은 Float
or Double
, i는 Int
)import kotlin.math.*
sqrt(n) // 제곱근
n.pow(i) // 제곱