[백준] 1193번(분수찾기)

·2022년 11월 10일

백준 문제풀이

목록 보기
20/159

백준 1193번


최종 제출 코드

number = int(input())

i=1
while(number>i):
  number = number - i
  i += 1

if i%2==0:
  if number == 1:
    print("1/{}".format(i))
  else:
    print("{}/{}".format((1+(number-1)),(i-(number-1))))

else:
  if number ==1:
    print("{}/1".format(i))
  else:
    print("{}/{}".format((i-(number-1)),(1+(number-1))))
  • 같은 대각선에 자리하는 분수는 분자와 분모의 합이 같다
  • 홀수 번째 대각선은 분수의 값이 (행-1, 열+1)
  • 짝수 번째 대각선은 분수의 값이 (행+1, 열-1)
  • 대각선 내에 위치하는 원소의 개수는 1, 2, 3, ... 처럼 1씩 증가하는 등차수열

수정한 코드

number = int(input())
deno = 0
num = 0
i=1

while(number>i):
  number = number - i
  i += 1

if i%2==0:
  deno = number
  num = i-number+1
else:
  deno = i-number+1
  num = number

print("{}/{}".format(deno, num))
  • if number == 1은 검사할 필요가 없기에 삭제
  • if문 분기내에 존재하던 print()문을 꺼내서 작성
  • 계산식이 아닌 변수를 선언하여 값 출력
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글