경쟁 프로그래밍쉬움

GCD를 k의 배수로 만들기 위한 최소 연산

'GCD를 k의 배수로 만들기 위한 최소 연산' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

쉬움

배열에 있는 모든 요소의 최대 공약수(GCD)를 k의 배수로 만들기 위한 최소 연산 수를 반환하는 함수 min_operations_gcd_k(arr, k)을 작성하세요. 한 번의 작업으로 배열의 모든 요소를 1씩 늘리거나 줄일 수 있습니다.

제약
  • 1 <= len(arr) <= 10^5
  • 1 <= k <= 10^4
  • 1 <= arr[i] <= 10^9

Example 1
Input
min_operations_gcd_k([4, 5, 6], 5)
Output
2
Explanation

Increment 4 to 5 (1 op) and decrement 6 to 5 (1 op). The array becomes [5, 5, 5] whose GCD is 5, which is a multiple of 5.

Example 2
Input
min_operations_gcd_k([2, 3], 3)
Output
1
Explanation

Increment 2 to 3 (1 op). The array becomes [3, 3] whose GCD is 3, which is a multiple of 3.

Need a Hint?
세트나 힙과 같은 Greedy 관련 데이터 구조를 사용하는 것을 고려해보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.