Computer language and framework/GO

[GO] 프로그래머스 > 코딩테스트 입문 > 약수 구하기

WhiteGoblin 2024. 11. 4. 10:13
반응형

문제 설명

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


제한사항
  • 1 ≤ n ≤ 10,000

입출력 예

n result
24 [1,2,3,4,6,8,12,24]
29 [1,29]

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

  • 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.

 

사고회로 

  • n 을 나누었을 때 나머지가 없으면 약수이다. 
  • 나누는 숫자의 2배 보다 n 이 작으면 약수가 될 수 없다. 
  • 마지막에 자기 자신을 더해주면 slice 가 완성 된다. 
func solution(n int) []int {
    
    var result []int
    
    for i:= 1 ; (i * 2)  <= n  ; i++{
        if n % i == 0 {
            result = append( result , i )
        } 
    }
    
    result = append( result , n )
    
    return result
}

 

반응형