inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 371. 숫자 카드 나누기

    프로그래머스 (135807)
    Stupefyee's avatar
    Stupefyee
    Jul 09, 2025
    [JAVA 문제 풀이] 371. 숫자 카드 나누기
    Contents
    내가 작성한 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/135807
    notion image
     

    내가 작성한 코드

    class Solution { public int solution(int[] arrayA, int[] arrayB) { // A배열 최대 공약수 구하기 int gcdA = arrayA[0]; for (int i = 1; i < arrayA.length; i++) { gcdA = gcd(gcdA, arrayA[i]); } // B배열 최대 공약수 구하기 int gcdB = arrayB[0]; for (int i = 1; i < arrayB.length; i++) { gcdB = gcd(gcdB, arrayB[i]); } // 한 쪽배열의 최대 공약수가 다른 배열의 원소들을 나눌 수 있는지 확인 int resultA = canDivide(gcdA, arrayB) ? gcdA : 0; int resultB = canDivide(gcdB, arrayA) ? gcdB : 0; return Math.max(resultA, resultB); } // 최대공약수 구하는 메서드 private int gcd(int a, int b) { while (b != 0) { int temp = a % b; a = b; b = temp; } return a; } // 한쪽 배열의 최대공약수가 다른 배열의 원소들을 나누지 않는지 확인하는 메서드 private boolean canDivide(int divisor, int[] arr) { for (int num : arr) { if (num % divisor == 0) { return false; } } return true; } }
    Share article
    Contents
    내가 작성한 코드

    stupefyee

    RSS·Powered by Inblog