Baekjoon/단계별로 풀어보기

[백준][8단계 일반 수학 1] 1193번 /분수찾기 (파이썬/Python)

junslee 2025. 4. 2. 12:51

1. 문제 설명

2. 코드

X = int(input())
line = 1
count = 1

while count + line <= X:
    count += line
    line += 1

position = X - count
if line % 2 == 1:
    numerator = line - position
    denominator = 1 + position
else:
    numerator = 1 + position
    denominator = line - position
print(f"{numerator}/{denominator}")

3. 풀이 과정

X를 정수로 입력받는다.

현재 라인 line을 1로 초기화한다.

현재까지 센 분수의 개수 count를 1로 초기화한다.

 

X가 속한 라인을 찾기 위해 count + line 값이 X보다 작거나 같을 때 반복하는 while문을 만든다.

count에 line값을 더하고

line에 1을 더한다.

while문을 빠져 나오면

line값이 현재 X가 속한 라인이다.

 

X가 라인에서 몇 번째 위치인지 position 변수에 X- count 값을 넣는다.

홀수 라인과 짝수 라인에 따라 분자/분모 계산한다.

홀수 라인은 line % 2 == 1이고 분자 numerator는 line - position값이고 분모 denominator는 1 + position값이다.

짝수 라인은 반대로 분자 numerator는 1 + position 값이고 분모 denominator는 line - position값이다.

f-string으로 f"{ numerator}/{ denominator }" 분자/분모 식을 출력한다.