코딩 테스트/프로그래머스

[프로그래머스] (Swift) 정수 제곱근 판별 - Lv.1

Dev.Andy 2023. 4. 3. 21:48

📌 문제

캡처한 프로그래머스 문제 이미지, 정수 제곱근 판별

코딩테스트 연습 - 정수 제곱근 판별 | 프로그래머스 스쿨

 

 

📌 풀이

Swift의 squareRoot() 메서드와 삼항 연산자를 이용해 풀어 보았다.

squareRoot() | Apple Developer Documentation

 

  • 다만, squareRoot()는 Double에 있는 공식 문서여서 형 변환에 유의해야 한다.
  • 문제의 함수의 반환값 또한 Int가 아닌 Int64이니 그에 맞게 형 변환을 하자

 

 

📌 코드

func solution(_ n:Int64) -> Int64 {
    // n의 제곱근을 상수로 할당
    let root = Int64(Double(n).squareRoot())
    
    // 제곱근이 실제로 맞으면 원하는 조건의 반환값을, 아니면 -1을 반환
    return root * root == n ? (root + 1) * (root + 1) : -1
}