공배수
-
N개의 최소공배수python algorithm 2024. 2. 25. 15:38
[문제] 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. [제한 사항] arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. [풀이] def solution(arr): answer = 1 for i in arr: answer = lcm(answer, i) return answer # 최대공약수 def gcd(x,..
-
최대공약수와 최소공배수python algorithm 2024. 2. 25. 15:17
[문제] 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. [제한 사항] 두 수는 1이상 1,000,000이하의 자연수입니다. [풀이] def solution(n, m): n_list = [] # 최대공약수 찾는 과정 for i in range(n, 0, -1): if (n % i == 0) and (m % i == 0): n_list.append(i) a = max(n_list) b = max(n_list) * (n // max(n_list)) *..