[프로그래머스] 제곱수 판별하기(Swift)

이창형·2023년 1월 10일
0

코드 (내가 제출)

import Foundation

func solution(_ n:Int) -> Int {
    for i in 1...1000000 {
        if i * i == n {
            return 1
            break
        } else if i == 100000 {
            return 2
        }
    }
    return 0
}

남이 쓴 좋은 코드

import Foundation

// sqrt는 제곱수를 찾아준다
func solution(_ n:Int) -> Int {
 let root = Int(sqrt(Double(n)))
 	// 제곱수가 있으면 1 없으면 2 반환
    // root가 Int형이기 때문에 제곱수가 있지 않으면 root*root는 절대 n이 될 수 없다
    return root * root == n ? 1 : 2
}

회고

  • 정말 원시적인 코드를 짠 것 같아서 반성한다
  • sqrt라는 좋은 기능을 알게되었다
profile
iOS Developer

0개의 댓글