성장일기

[python] 백준 3036 - 링 본문

알고리즘 문제

[python] 백준 3036 - 링

김몽몽 2021. 12. 27. 10:57

첫번째 링을 한바퀴 돌리면 나머지 링은 몇바퀴 돌아가는지 구하기

기약 분수 형태로 출력

n=int(input())
a=list(map(int,input().split()))

def gcd(a,b):  #최대공약수
    if b==0:
        return a
    else:
        return gcd(b,a%b)
    
for i in range(1,n):
    if a[0]%a[i]==0:
        print(f'{a[0]//a[i]}/1')
    else:
        print(f'{a[0]//gcd(a[0],a[i])}/{a[i]//gcd(a[0],a[i])}')
        # 각각을 최대공약수로 나눠서 프린트하기

코드를 조금 더 깔끔하게 만들 수 있을 것 같은데

다시 한번 더 풀어봐야겠다.

'알고리즘 문제' 카테고리의 다른 글

[python] 백준 11399 - ATM  (0) 2021.12.27
[python] 백준 1764 - 듣보잡  (0) 2021.12.27
[python] 백준 9613 - GCD 합  (0) 2021.12.27
실버 3 🎉  (0) 2021.12.26
[python] 백준 11866 - 요세푸스 문제 0  (0) 2021.12.26