
public class Solution
{
public int solution(int n) {
int answer = 0;
for(int i = 1; i<= n; i++)
{
if(n%i == 0)
{
answer += i;
}
}
return answer;
}
}
변수 answer를 0으로 초기화하여 약수들의 합을 저장
약수 탐색: 1부터 n까지의 모든 숫자에 대해 반복하면서, n을 현재 숫자 i로 나누어 나머지가 0인지 확인, 나머지가 0이라는 것은 i가 n의 약수임을 의미.
약수의 합 더하기: n의 약수를 찾을 때마다 answer에 해당 약수 i를 더함
결과 반환: 모든 약수의 합을 저장한 answer를 반환.

using System;
public class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n; i++)
{
if(n%i == 1)
{
answer = i;
break;
}
}
return answer;
}
}
for 루프를 이용하여 i를 1부터 n까지 증가시키면서 반복
n % i == 1 조건이 참이면 answer변수에 i를 저장하고, break를 사용하여 루프 종료 ( 가장 작은 x를 찾았을 때 )
반환
ex)
n이 10인 경우, 3이 반환 -> 10을 3으로 나눈 나머지가 1이 되기 때문
i를 0으로 하면 오류가 나는 이유
C#에서 0으로 나누는 시도는
"DivideByZeroException"예외를 발생 = 분모(나누는 수)가 0일 때 발생하는 예외