코딩 테스트 연습 - 제곱근

다용도리모콘·2020년 6월 28일
0

CodingTest

목록 보기
14/34

01. 이해

입력받은 정수의 제곱근이 양의 정수라면 제곱근의 +1 한 정수의 제곱을 리턴하고
양의 정수가 아니라면 -1을 리턴한다.

02. 계획

제곱근을 구한다.
제곱근이 양의 정수인지 판단한다.
양의 정수면 +1 한 정수의 제곱을, 아니면 -1을 리턴한다.
제곱근을 구하는 함수는 있을 테니 그것을 사용하고,
제곱근을 정수로 만들어 다시 제곱했을 때 원래 정수와 같은지로 양의 정수인지를 판별한다.

03. 실행

fun solution(n: Long): Long {
    val sqrt = sqrt(n.toDouble()).toLong()
    return if (sqrt * sqrt == n)
        (sqrt + 1) * (sqrt + 1)
    else
        -1
}

04. 회고

양의 정수인지 아닌지를 판단하는게 어려웠다.
공식을 잘 아느냐가 중요한 걸지도....

0개의 댓글