https://www.acmicpc.net/problem/3036
[정답]
1. 링의 개수를 입력받아 n에 넣어준다.
2. 링의 개수만큼 링의 반지름을 입력받아 정수값으로 바꾸고 리스트형태로 rings에 넣어준다.
3. 0~n-1만큼 for문을 돌면서 첫 번째 링(rings[0])을 한 바퀴 돌리면 (i+1)번째 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력하기 위해 fractions 모듈의 Fraction 클래스를 사용한다.
※ Fraction(rings[0],rings[i+1])만 해주게 되면 예를 들어 Fraction(12,4)=3이므로 3만 출력된다. 그러나 <예제 입력1>을 보면 3/1이 값으로 나와야 하기 때문에 추가적인 작업이 필요하다.
4. Fraction해준 값을 a로 받아 a를 문자열형태로 바꾸어 b에 넣어준다.
5. 만약 b에 '/'가 포함되지 않았다면 (ex. Fraction(12,4)=3), b에 '/1'을 더해주고 b를 출력한다.
frations 모듈
파이썬에서 분수를 다루기 위해 많이 사용되는 모듈
https://blog.naver.com/okkam76/221259612857
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #11051: 이항 계수2 (0) | 2020.12.29 |
---|---|
[백준 파이썬] #11050: 이항 계수1 (0) | 2020.12.29 |
[백준 파이썬] #2609: 최대공약수와 최소공배수 (0) | 2020.12.24 |
[백준 파이썬] #5086: 배수와 약수 (0) | 2020.12.23 |
[백준 파이썬] #3009: 네 번째 점 (0) | 2020.12.06 |