Swift랑 친해지기/programmers 풀기

[프로그래머스] 약수의 합 (Swift)

데브킹덕 2022. 7. 26. 19:29

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

 

프로그래머스

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

programmers.co.kr

나만의 풀이 

1. 정수는 음의 정수, 0 , 양의 정수가 있음

0과 음의 정수는 약수가 없음, 또한 n은 0이상 3000이하 정수임 

 

2. 리턴할 결과값 변수 result를 만듦

 

3. n이라는 정수에 약수들은 n에 나눠 나머지가 0이면 약수이다. 

for문  n이 1일때부터 n일때까지 값들을

if 문 n에 나누어 나머지가 0이면  result에 더하자 

 

4. 실행 해보면 16번경우에 에러가 남

n이 0일때를 생각해줘야함 

 

func solution(_ n:Int) -> Int {
    var result = 0
    if n == 0 {
        return 0
    }else{
    	for i in 1...n{
        if n % i == 0 {
            result += i
        	} 
    	}
   	 return result
    }
}