[프로그래머스] 숫자 카드 나누기 문제 풀이(코딩테스트 입문 Lv. 2) - 자바 Java
2022. 12. 17. 12:15ㆍ네카라쿠배 취준반 - 프로그래머스 문제 풀이
0. 자세한 설명은 YouTube 영상으로
1. GCD를 활용한 풀이
class Solution {
public boolean notDivisible(int[] arr, int num){
for(int n : arr)
if(n % num == 0)
return false;
return true;
}
public int gcd(int a, int b){
if(a % b == 0)return b;
return gcd(b, a % b);
}
public int solution(int[] arrayA, int[] arrayB) {
// 0. 입력 및 초기화
int answer = 0;
int gcdA = arrayA[0];
int gcdB = arrayB[0];
// 1. 각 배열의 최대공약수 구하기
for(int i =1; i< arrayA.length;i++){
gcdA = gcd(gcdA, arrayA[i]);
gcdB = gcd(gcdB, arrayB[i]);
}
// 2. 서로의 배열을 나눌 수 없는지 확인
if(notDivisible(arrayB, gcdA))
if(answer < gcdA)
answer = gcdA;
if(notDivisible(arrayA, gcdB))
if(answer < gcdB)
answer = gcdB;
// 3. 최댓값 반환
return answer;
}
}
'네카라쿠배 취준반 - 프로그래머스 문제 풀이' 카테고리의 다른 글
[백준 2449] 전구 문제 풀이- 자바 Java (0) | 2022.12.24 |
---|---|
[백준 10870] 피보나치 수 5 문제 풀이- 파이썬 python (0) | 2022.12.22 |
[프로그래머스] 콜라 문제 풀이(코딩테스트 입문 Lv. 1) - 파이썬 python (0) | 2022.12.15 |
[프로그래머스] 겹치는 선분의 길이 문제 풀이(코딩테스트 입문 Lv. 0) - 자바 Java (0) | 2022.12.10 |
[프로그래머스] 분수의 덧셈 문제 풀이(코딩테스트 입문 Lv. 0) - 파이썬 python (0) | 2022.12.08 |