지난 번에 GCD 합 문제를 풀면서 Fraction을 이용한 적이 있는데, 해당 library를 이용하면 쉽게 풀 수 있다!

 

사실, 해당 library 안 써도 쉽게 풀 수 있을 것 같기는 하다..ㅋㅋㅋ

 

Fraction library는 두 수를 기약 분수 꼴로 나타내 준다.

 

문제는 기약 분수 꼴로 나타낼 때 완전히 정수로 나눠진다면 분모에 1이 남겨지지 않고 정수로 그대로 출력된다는 점이다.

 

따라서 완전히 정수로 나눠질 때 분모에 1을 추가해주는 작업을 따로 해주면 된다!

 

import sys
from fractions import Fraction    # 기약 분수로 나타내는 Python Library
input = sys.stdin.readline

N = int(input())    # 링의 개수를 입력
rings = list(map(int, input().strip().split(' ')))    # 링의 반지름들을 입력

for i in range(1, N):    # 첫 번째 링을 제외한 나머지 링들에 대해서 진행
    if rings[0] % rings[i] == 0:    # 두 수가 정수꼴로 나눠지면
        print(str(int(rings[0]/rings[i])) + '/' + '1')    # 분모가 1인 분수꼴로 표현
    else:    # 두 수가 정수꼴로 나눠지지 않는다면
        print(Fraction(rings[0], rings[i]))    # Fraction을 이용해 분수로 표현

+ Recent posts