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 }" 분자/분모 식을 출력한다.