jju_developer 2022. 12. 2. 01:25
728x90

<코딩 테스트>

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

 

<나의 풀이 과정>

우선 두수 a,b 가 있을 때 여러가지 상황에 대해서 생각해보았습니다.

받는 매개변수 n

a x b = n

n / b = a

이제 for문을 사용하여 매개변수 n 과 i를 나눈 나머지가 0이라면 해당 값을 answer에 대입하도록

구현하였습니다.

 

<나의 풀이 코드>

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

 

 

<다른사람 풀이>

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

<다른사람 풀이>

import java.util.*;

class Solution {
    public int solution(int n) {
        int answer = 0;
        List<Integer> list = new ArrayList<>();

        for(int i=1; i<=n; i++){
            if(n%i==0) list.add(i);
        }
        answer = list.size();
        return answer;
728x90