2024-09-27

e_zy·2024년 9월 27일

오늘은 정수 n의 모든 약수를 더하는 문제를 풀었다. 약수란 어떤 수를 나누었을 때 나머지가 0이 되는 수들을 의미한다. 이를 구하기 위해 1부터 n까지 반복하면서 나눠 떨어지는 값들을 모두 더했다. 제한 사항으로 n이 0 이상 3000 이하라는 조건이 있어, n = 0일 때는 약수의 합이 0이 되도록 고려했다. 이번 문제는 반복문을 통해 조건을 처리하는 기본적인 알고리즘 문제였고, 약수의 개념을 확실하게 복습할 수 있었다. 특히 반복문과 조건문을 적절히 조합하는 방법이 중요한 문제였다.

이번 과제를 통해 효율적인 코드를 작성하는 것뿐만 아니라, 문제의 제약을 정확히 파악하고 처리하는 연습이 되었다. 또한 입력 값에 따라 프로그램이 어떻게 동작할지 미리 생각해보는 습관이 중요하다는 것을 느꼈다. 간단한 문제였지만, 기초를 다지는 데 많은 도움이 됐다.

public class Solution {
    public int solution(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            if (n % i == 0) {
                sum += i;
            }
        }
        return sum;
    }
}
profile
코딩 왕초보

0개의 댓글