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
}
'Swift랑 친해지기 > programmers 풀기' 카테고리의 다른 글
[프로그래머스] 가운데 글자 가져오기 (Swift) (0) | 2022.08.19 |
---|---|
[프로그래머스] 최대공약수와 최소공배수 (0) | 2022.08.18 |
[프로그래머스] 자릿수 더하기 (Swift) (0) | 2022.08.16 |
[프로그래머스] 문자열 내 p와 y의 개수 (Swift) (0) | 2022.08.15 |
[프로그래머스] 문자열 다루기 기본 (Swift) (0) | 2022.08.08 |