본문 바로가기

verdantjuly/코딩테스트

프로그래머스 코딩테스트 연습 : 최대공약수와 최소공배수 (20240312, java)

728x90

 

 

문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12940

나의 풀이

class Solution {
    public int[] solution(int n, int m) {
        int[] answer = new int[2];
        for (int i=1; i<=n*m; i++){
            if (i%n == 0 && i%m == 0){
                answer[1] = i;
                break;
            }            
        }
        for (int j=n; j>0; j--){
            if (n%j == 0 && m%j == 0){
                answer[0] = j;
                break;
            }            
        }
        return answer;
    }
}

 

다른 사람의 풀이


class Solution {
    public int[] solution(int n, int m) {
        int[] answer = new int[2];
        for (int i = 1; i < n + m; i++) {
            if (n % i == 0 && m % i == 0) {
                answer[0] = i;
                answer[1] = n * m / answer[0];
            }
        }
        return answer;
    }

}

 

소감

 

잘 고민해 보기