실력진단

학습내용
값을 반환하지 않는 재귀함수
재귀함수를 이용한 별 출력2

n=int(input())
def draw(n):
if n==0:
return
for i in range(n):
print("*",end=' ')
print()
draw(n-1)
for i in range(n):
print("*",end=' ')
print()
draw(n)
값을 반환하는 재귀함수
재귀함수를 이용한 최소공배수

n=int(input())
arr=list(map(int,input().split()))
def lcm(a, b):
return (a * b) // gcd(a, b)
def gcd(a, b):
while (b != 0):
r = a % b
a = b
b = r
return a
def solution(arr,n):
sol=arr[0]
for i in range(1,n):
sol=lcm(sol,arr[i])
return sol
print(solution(arr,n))
전에 공부했던 최대공약수 최소공배수 알고리즘을 이용하여 풀었습니다.
https://hyunjini.tistory.com/54
최대공약수 최소공배수 알고리즘 (유클리드 호제법)
최대공약수 ➡️유클리드 호제: 2 개의 자연수 a, b(a > b)에 대해서 a를 b로 나눈 나머지가 r일 때, a와 b의 최대공약수는 b와 r의 최대공약수와 같다 두 수를 입력으로 받고 작은 수가 0이 될때 까지
hyunjini.tistory.com
'Computer Science > 알고리즘' 카테고리의 다른 글
[Codility] 9. Maximum slice problem (MaxProfit, MaxSliceSum) (1) | 2023.10.23 |
---|---|
[Codility] 8. Leader (Dominator, EquiLeader) (1) | 2023.10.23 |
[코드트리 챌린지] 함수활용 (1) | 2023.10.16 |
[코드트리 챌린지] 릴레이 문제 복습 (0) | 2023.10.12 |
최대공약수 최소공배수 알고리즘 (유클리드 호제법) (0) | 2023.10.06 |