본문 바로가기
자격증/코딩테스트

약수 구하는 방법

by Tarake 2024. 11. 2.

서론


  코딩 테스트를 준비하면서 여러 문제를 풀어보고 있는데 약수를 구하는 문제가 자주나와서 정리하고자 합니다.

 

약수란?

수론에서 약수(約數 : divisor) 또는 인수(因數 : factor, 전 용어: 승자(乘子))는 어떤 수를 나누어떨어지게 하는 수를 말한다. 

출처 : 위키백과

 

약수 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 수론에서 약수(約數, 영어: divisor) 또는 인수(因數, 영어: factor, 전 용어: 승자(乘子))는 어떤 수를 나누어떨어지게 하는 수를 말한다. 다항식의 약수나 가환환의

ko.wikipedia.org

  간단하게 설명하면 주어진 수 n보다 작으면서 n을 나눌 때 0으로 나누어 떨어지는 수를 말합니다. 예시로 12의 약수는 1, 2, 3, 4, 6, 12 입니다.

 

약수 구하기

출처 : 프로그래머스 약수 더하기 문제

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

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;
    }
}

 

위에 코드는 프로그래머스 약수 더하기 문제를 푼 방식입니다. 저의 문제 풀이 방식은 1부터 n까지 모든 숫자로 n을 나눠보고 나누어 떨여지면 해당 값이 약수라 판단하고 answer에 값을 더해서 구했습니다.

 

반복문을 이용하면 간편하게 숫자 n에 대한 약수를 구할 수 있습니다. 

'자격증 > 코딩테스트' 카테고리의 다른 글

프로그래머스 LV 0 정복  (0) 2024.11.01
프로그래머스 양꼬치 문제  (0) 2024.10.30
코딩 테스트 준비  (0) 2024.10.29