문제 : 값을 넣으면 소수인지 아닌지 판별하는 함수를 만들어라!
내 코드
func primeNumber(_ num: Int) -> String{
var count = 0;
for i in 1...num{
if (num % i) == 0{
count += 1
}else {
continue
}
}
if count >= 3{
return "소수가 아닙니다."
}else{
return "소수입니다."
}
}
primeNumber(97)
개선 코드
func primeNumber(num: Int){
for i in 2..<num{
if num % i == 0{
print("소수가 아닙니다.")
return
}
}
print("소수입니다.")
}
primeNumber(num: 14)
개선 코드가 더 나은 이유
: 내 원래 코드의 경우 약수가 3개 이상이면 소수가 아니다, 반대는 소수다 라는 과정이었다.
때문에 1~N까지 돌아야하는데 개선 코드의 경우 1과 자기자신(N)을 제외한 사잇값을 돌렸다.
내 코드 (N)번, 개선 코드 (N-2)번
약수의 갯수를 세기 위해 count라는 변수도 새로 생성했고
이를 판별하기위한 if문까지 사용되었다.
하지만 개선 코드에서는 if문의 True/False 값을 바로 소수 여부로 판단하여 결과값을 낼 수 있었다.
(정확히는 프린트물 출력 ㅎ)
swift 문법을 처음 배워보다보니까
쉬운 문제도 생각을 하고 풀어야한다!
그래도 재밌다 ^_^ b
'iOS > swift' 카테고리의 다른 글
[iOS] xcode에 firebase 연결하기 (2) | 2025.01.22 |
---|---|
Xcode boot 에러 해결하기 (1) | 2024.11.30 |
[앨런 swift 문법 마스터 스쿨] 변수 상수 조건문 튜플 삼항연산자 반복문 함수 복습 ! (0) | 2024.07.14 |
[앨런 swift 문법 마스터 스쿨] 함수 (0) | 2024.07.01 |
[앨런 swift 문법 마스터 스쿨] 변수와 상수 ~ 반복문 (1) | 2024.06.29 |