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 }" 분자/분모 식을 출력한다.
'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준][9단계 약수,배수와 소수] 5086번 /배수와 약수 (파이썬/Python) (0) | 2025.04.05 |
---|---|
[백준][8단계 일반 수학 1] 2869번 /달팽이는 올라가고 싶다 (파이썬/Python) (0) | 2025.04.05 |
[백준][8단계 일반 수학 1] 2292번 /벌집 (파이썬/Python) (0) | 2025.04.02 |
[백준][8단계 일반 수학 1] 2903번 /중앙 이동 알고리즘 (파이썬/Python) (0) | 2025.03.29 |
[백준][8단계 일반 수학 1] 2720번 /세탁소 사장 동혁 (파이썬/Python) (0) | 2025.03.29 |