순서쌍의 개수

문제

 


나의 생각

 

초반에 접근한 방식으로는 2중 for문으로 하면되겠다고 접근하였음. 

하지만 Big O 가 통과하지 못하는 현상을 보고 이거 잘 못된 코드라고 판단.

다시 생각해보면 약수를 수하면 나오는 갯수와 같다고 판단. 

 


나의 답안

 

public static int solution(int n) {
    int answer = 0;

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

다른 답안

 

다른분은 IntStream을 사용하여서 처리 하였는데, 다음에는 해당 방식으로도 처리를 해보도록 하겠다.

 

import java.util.stream.IntStream;

class Solution {
    public int solution(int n) {
        return (int) IntStream.rangeClosed(1, n).filter(i -> n % i == 0).count();
    }
}

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

자릿수 더하기  (0) 2023.02.26
중앙값 구하기  (0) 2023.02.25
배열의 유사도  (0) 2023.02.25
짝수는 싫어요  (0) 2023.02.25
옷가게 할인 받기  (0) 2023.02.25