프로그래밍/코딩테스트

[코딩테스트] 약수 구하기

Victory_HA 2025. 5. 29. 22:06

프로그래머스 : https://school.programmers.co.kr/learn/courses/30/lessons/120897

문제 설명

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

  • 입출력 예 #1
    24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다.
  • 입출력 예 #2
    29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.

솔루션 코드

using System;
using System.Collections.Generic;
public class Solution {
    public int[] solution(int n) {
        var list1 = new List<int>();
        int i = 1;
        while (n >= i)
        {
            if (n % i == 0)
                list1.Add(i);
            i++;
        }

        return list1.ToArray();
    }
}

Best

  public int[] solution(int n) {
        int[] answer = Enumerable.Range(1, n).Where(x => n % x == 0).ToArray();
        return answer;
    }