순서쌍의 개수

Wook·2024년 8월 24일

🧩코딩테스트

목록 보기
19/46
post-thumbnail

문제

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

조건

  • 1 ≤ n ≤ 1,000,000

예시

nresult
206
1009

풀이

  • 주어진 값(n)의 공약수의 개수를 구하는 문제
  • 1부터 n까지 반복문을 돌면서 n을 나눴을 때 나머지가 0인 숫자의 개수를 카운트
  • 또는 루트를 이용해 루프의 수를 줄일 수 있음

코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i = 1; i < n + 1; i++){
            if(n % i == 0){
                answer++;
            }
        }
        return answer;
    }
    
    public int solution2(int n){
    	int count = 0;
        for (int i = 1; i <= Math.sqrt(n); i++) {
            if (n % i == 0) {
               	count += (i == n / i) ? 1: 2;
            }
        }
        return count;
   }
}
profile
Keep going

0개의 댓글