- 입문 - 순서쌍의 개수2023년 10월 30일 21시 01분 28초에 업로드 된 글입니다.작성자: oneseel
입문 - 순서쌍의 개수
문제설명
순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 1,000,000
입출력 예
입출력 예 설명
입출력 예 #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합니다.
내 풀이
>> 반복문을 이용, i는 1부터 n의 제곱근까지(n의 약수 중 하나는 항상 n의 제곱근 이하이기 때문)
>> 조건문을 이용해서 n이 i로 나눌 때 나머지가 0이 되면(약수인지 확인) 그 때의 몫을 j로 둔다.
>> 다음 조건문으로 i와 j의 값이 같은지를 확인, 만약 같지 않다면, i와 j는 2가지 형태로 존재하므로 answer에 2를 더하고, 같다면 1을 더한다.
class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i <= Math.sqrt(n); i++) { if (n % i == 0) { int j = n / i; if (i != j) { answer += 2; } else { answer += 1; } } } return answer; } }
https://school.programmers.co.kr/learn/courses/30/lessons/120836
'코딩테스트' 카테고리의 다른 글
입문 - 모스부호(1) (1) 2023.10.30 입문 - 개미 군단 (0) 2023.10.30 입문 - 진료 순서 정하기 (0) 2023.10.30 입문 - 외계행성의 나이 (1) 2023.10.29 입문 - 배열 자르기 (0) 2023.10.29 댓글