Algorithm/프로그래머스
[프로그래머스 스위프트] 정수 제곱근 판별
devKen
2022. 8. 26. 19:34
아이디어
제곱근인지 판단한다. 이 문제를 해결하기 위하여 for문에서 i를 증가시켜가면서 제곱근이 가능한 지점인지 측정하고 만약 i의 제곱이 n보다 크다면 바로 -1을 리턴하게 됐다.
알아뒀어야 했던 점은 스위프트에는 이미 sqrt함수가 구현되어 있어 이렇게 풀 필요가 없었던 것이었다. 이 함수의 존재로 제곱근을 바로 구하고 이 수가 n과 일치하는지를 봤으면 더 쉽게 풀수 있었다.
해답
func solution(_ n:Int64) -> Int64 {
var i = 1
while true {
if i * i == n {
return Int64((i + 1) * (i + 1))
} else if i * i > n {
return -1
}
i += 1
}
}