[프로그래머스/Java/입문/❌⭕️] 순서쌍의 개수

2023. 1. 12. 12:00·🐤 CodingTest/Java

 

 

 

🗣️ 메모

 최대공약수에 이어 공약수 활용하는 문제

 

 

 


 

 

 

✏️ [순서쌍의 개수]

문제 설명

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (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합니다.

 

 


🔥 TRY #1 [시간 초과]

👉🏻 i를 0부터 n까지 ++, j를 n부터 0까지 -- 해서 순서쌍이 되는 경우 answer++을 한다

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i=0; i <= n; i++) {
            for(int j=n; j > 0; j--) {
            
                if(i * j == n) {
                    answer++;
                }

            }
        }
        
        return answer;
    }
}

대박... 1000000까지 for문 돌리는 것도 시간 초과 안 나왔는데 테스트 수가 뭐길래

 

 

 

🔥🎉 TRY #2 [실행 결과]

👉🏻 입출력 예시를 뜯어보니 나누어떨어지는 수임

👉🏻 순서쌍(2개)이긴 하지만 어쨌든 리턴값은 그 순서쌍이 몇 개인지를 보는 거니까 가능하지 않을까?

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

 

 

 


출처: 프로그래머스 코딩 테스트 연습,https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

 

저작자표시 비영리 변경금지 (새창열림)
'🐤 CodingTest/Java' 카테고리의 다른 글
  • [프로그래머스/Java/입문/⭕️] 세균 증식
  • [프로그래머스/Java/입문/⭕️] 개미 군단
  • [프로그래머스/Java/입문/⭕️] 자릿수 더하기
  • [프로그래머스/Java/입문/⭕️] 문자열 안에 문자열
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[프로그래머스/Java/입문/❌⭕️] 순서쌍의 개수
상단으로

티스토리툴바