Swift랑 친해지기/programmers 풀기

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

데브킹덕 2022. 8. 17. 22:47

https://school.programmers.co.kr/learn/courses/30/lessons/12934

 

프로그래머스

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

programmers.co.kr

 

풀이방법

1. 숫자 n은 분명 1에서 n보다 작은 어느수에 제곱일수도 있고 아닐수도 있다. 

때문에 범위를 1...Int(n)으로 두었다.

2. 제곱을 구하기위해 n을 i로 나눴을때 값이 i 이고 나머지가 0인 수를 조건문을 통해 찾았다. 

3. 만약에 1부터 n까지 제곱인 수가 있으면 i에 1을 더해 제곱한 수를 리턴한다. 

4. 아니면 -1 리턴  

 

 

func solution(_ n:Int64) -> Int64 {
    
    for i in 1...Int(n) {
        if Int(n) / i == i && Int(n) % i == 0{
            return Int64((i + 1) * (i + 1))
        }
    }
    
    return -1
}