새소식

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

[Swift] 정수 제곱근 판별

  • -

[문제]

코딩테스트 연습 - 정수 제곱근 판별 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 풀이]

sqrt를 이용해서 쉽게 풀수가 있는 문제이다.

sqrt(n)과 Double(Int(sqrt(n))이 같다면 이는 곧 정수와 실수형이 같은거니 정수 제곱근이 존재한다는 거고 그럴경우 해당 숫자의 + 1의 제곱을 반환해주자.

[회고]

타입캐스팅 때문에 많이 헤맸던 문제. 타입캐스팅은 언제나 주의하자.

[코드]

import Foundation

func solution(_ n:Int64) -> Int64 {
    var answer:Int64 = -1
    
    var sqrtN = sqrt(Double(n))
    
    if sqrtN == Double(Int(sqrtN)) {
        answer = (Int64(sqrtN) + 1)
        answer = answer * answer
    }
    
    return answer
}

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.