728x90
반응형
문제링크 : https://www.acmicpc.net/problem/1193
■ 문제
이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.
X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.
■ 입력
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
■ 출력
첫째 줄에 분수를 출력한다.
■ 풀이
- 대각선 줄이 홀수인지 짝수인지 판단하여 구하고, 분자, 분모의 숫자의 방향이 홀수 줄인경우는 분자는 오름차순, 분모는 내림차순, 짝수인경우 분모는 내림차순, 분자는 오름차순
x = int(input())
line = 1
while x > line:
x -= line
line += 1
if line % 2 == 0:
a = x
b = line - x + 1
else:
a = line - x + 1
b = x
print(str(a)+'/'+str(b))
728x90
반응형
'알고리즘(백준, 프로그래머스) > [백준] 알고리즘 (구현)' 카테고리의 다른 글
[백준 15596 / 파이썬(Python) / Bronze Ⅱ] 구현 / 정수 N개의 합 (0) | 2023.06.19 |
---|---|
[백준 2908 / 파이썬(Python) / Bronze Ⅱ] 구현 / 상수 (0) | 2023.05.31 |
[백준 10817 / 파이썬(Python) / Bronze Ⅲ] 구현 / 세 수 (0) | 2023.05.31 |
[백준 10870 / 파이썬(Python) / Bronze Ⅱ] 구현 / 피보나치 수 5 (0) | 2023.05.30 |
[백준 1316 / 파이썬(Python) / Silver V] 구현 / 그룹 단어 체커 (0) | 2023.05.30 |