본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #3036: 링

https://www.acmicpc.net/problem/3036

 

3036번: 링

출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다.

www.acmicpc.net

 

[정답]

 

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

 

[파이썬 수학 코딩] 분수식 표현 - fractions 모듈

파이썬에서 숫자를 다루는 자료형은 정수형(int)과 실수형(float) 2가지가 있다. 학교 교과과정에서 다루는...

blog.naver.com