[Programmers] [Lv.1] [Swift] 정수 제곱근 판별

doyeonjeong_·2022년 7월 21일
0

프로그래머스

목록 보기
5/35

문제

정수 제곱근 판별

풀이

import Foundation

func solution(_ n:Int64) -> Int64 {
    var num = Int64(sqrt(Float(n))) // 제곱근
    if num * num != n { // 둘 다 인트형이 아니라면 n과 다른 값이 나옴
        return -1
    } else {
        return (num + 1) * (num + 1)
    }
}

🤔 FEEDBACK

배운 점

  • import Foundation, sqrt()로 제곱근 구하는 함수가 있다는 것
  • 근데 실수형이라서 Float 또는 Double 형으로 제곱근을 구해야한다는 것

다른 풀이

import Foundation
func solution(_ n:Int64) -> Int64 {
    let t = Int64(sqrt(Double(n)))
    return t * t == n ? (t+1)*(t+1) : -1
}

개선할 점

  • 삼항 연산자를 좀 더 활용해봐야겠다.
profile
블로그 이사중 🚚 byukbyak.tistory.com

0개의 댓글