Eggs Sunny Side Up
본문 바로가기
Algorithm/Programmers_Java

[Java] 순서쌍의 개수

by guswn100059 2023. 3. 28.

문제 설명

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


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

입출력 예nresult
20 6
100 9

입출력 예 설명

입출력 예 #1

  • n이 20 이므로 곱이 20인 순서쌍은 (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 이므로 6을 return합니다.

입출력 예 #2

  • n이 100 이므로 곱이 100인 순서쌍은 (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5), (25, 4), (50, 2), (100, 1) 이므로 9를 return합니다.

 

 

방법 1)

답은 도출되지만 값이 크면 테스트 실패.

import java.util.ArrayList;

class Solution {
    public int solution(int n) {
        ArrayList<Integer> answer = new ArrayList<Integer>();
		
		int cnt = 0;
		
		for(int i = 1; i <= n; i++) {
			for(int j = n; j > 0; j--) {
				if(n%i==0 && n%j==0 && i*j==n) {
					answer.add(i*j);
					cnt++;
				}
			}
		}
        return cnt;
    }
}

 

방법 2)

코드를 간단하게 줄여서 풀이.

class Solution {
    public int solution(int n) {
        int cnt = 0;
        
        for(int i = 1; i <= n; i++) {
			if(n%i==0) cnt++;
		}
        
        return cnt;
    }
}

'Algorithm > Programmers_Java' 카테고리의 다른 글

[Java] 편지  (0) 2023.03.28
[Java] 배열 두배 만들기  (0) 2023.03.28
[Java] 짝수는 싫어요  (0) 2023.03.27
[Java] 아이스 아메리카노  (0) 2023.03.27
[Java] 옷가게 할인 받기  (0) 2023.03.27

댓글