[프로그래머스] 순서쌍의 개수 Java

지인·2023년 7월 31일
0

알고리즘

목록 보기
16/21

🐰 문제

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

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

입출력 예
n result
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합니다.

내 풀이

class Solution {
    public int solution(int n) {
        int answer = 0;

        for(int i = 1; i <= n; i ++) {
            if(n % i == 0) {
                answer++;
            }
        }        
        
        return answer;
    }
}
  • Exception in thread "main" java.lang.ArithmeticException: / by zero
    • 처음 for문에서 int i = 0;으로 선언해서 정수를 0으로 나누는 행동 때문에 에러가 발생했다.

🐾 처음에는 순서쌍에 겁먹어서 어렵게 문제를 풀었는데 생각해보니 나누어서 0인 숫자 카운트만 세주면 된다 생각해서 문제를 풀 수 있었다.
그리고 에러가 났었는데 좀만 더 생각해보고 코드를 작성했으면 나타나지 않았을 에러였어서 다음에는 신경쓰면서 코드를 작성해야겠다고 느꼈다.

profile
열쩡

0개의 댓글