[Algorithm] 백준 1193번 (파이썬) : 분수찾기

Hyuk·2023년 2월 9일
0

https://www.acmicpc.net/problem/1193

풀이과정

  • 숫자를 입력하면 지그재그 순서에 맞는 분수를 출력해주는 문제이다. 일정한 규칙을 찾아야만 했는데 규칙은 다음과 같다.
    • 대각선을 기준으로 1번째 라인에는 1개의 분수가, 2번째 라인에는 2개의 분수가, 3번째 라인에는 3개의 분수가 나타난다.
    • 또한, 짝수 라인에는 분자가 줄어들면서 분모가 늘어나고, 홀수 라인에는 분자가 늘어나면서 분모가 줄어든다.
  • 위의 규칙을 입각해서 입력한 숫자가 어떤 라인에 있는지(동시에 짝수인지, 홀수인지)와 해당 라인의 끝번호(1, 3, 6, 10)을 이용해 문제를 풀었다.

코드

n = int(input())
line = 0
end_num = 0

while n > end_num:
    line += 1
    end_num += line

diff = end_num - n

if line % 2 == 0:
    top = line - diff
    bottom = diff + 1
else:
    top = diff + 1
    bottom = line - diff

print('{0}/{1}'.format(top, bottom))
profile
프론트엔드 개발자

0개의 댓글