[Hackerrank] Between Two Sets 문제 해설 - Algorithms > Implementation / Easy
Between Two Sets 1. 문제 설명 이 문제는 정수로 이루어진 두 배열 A, B의 원소 중 다음 조건을 충족하는 정수(x)의 갯수를 구하는 문제이다. All elements in A are factors of x. x is a factor of all elements in B. 이를 다르게 표현하면 다음과 같이 표현 할 수 있다. x mod a[i] = 0 for every a[i] in A b[i] mod x = 0 for every b[i] in B 예를 들어, A = {2, 6} 이고 B = {12} 일 경우 x 에 속할 수 있는 값은 6 과 12 가 된다. *원본 링크 : https://www.hackerrank.com/challenges/between-two-sets/problem 변수 설명 A: a[i]로 구성된 정수 배열 B: b[i]로 구성된 정수 배열 n: A의 원소 갯수 m: B의 원소 갯수 x: 위의 조건을 충족하는 정수 2. Input Format 첫번째 줄에는 n과 m값이 주어진다. 두번째 줄엔는 A의 원소인 a[i] 값이 주어진다. 세번째 줄엔는 B의 원소인 b[i] 값이 주어진다. 3. Output Format A와 B 배열에서 위의 조건을 만족하는 정수 x의 갯수 출력 4. 제약조건 Sample Input 2 3 2 4 16 32 96 Sample Output 3 Solution 처음 접근했던 방법은 위에서 주어진 식을 그대로 풀어서 문제를 해결하는 식이었다. 순서는 다음과 같다. B에 속해있는 원소들의 공약수를 모두 구한다. 1번에서 구한 공약수 중 A에 속한 모든 원소로 나누었을 때, 나머지 값이 모두 0이 되는 공약수가 있는지 찾는다. 2번을 충족하는 공약수로 이루어진 새로운 배열을 만든다. 3번에서 구한 배열의 length 값을 출력한다. 위의...