BOJ - 1193

주의·2024년 1월 19일
0

boj

목록 보기
99/214

백준 문제 링크
분수찾기

❓접근법

  1. 문제에서 나타낸 지그재그 방향은 아래와 같다.
  2. 1번 라인 : 1/1
    2번 라인 : 1/2 2/1
    3번 라인 : 3/1 2/2 1/3
    4번 라인 : 1/4 2/3 3/2 4/1
    5번 라인 : 5/1 4/2 3/3 2/4 1/5
  3. 초기값 N = int(input())과 line = 1로 설정한다.
    N이 line보다 클 때 까지 N에서 line을 빼고, line을 1씩 증가시킨다.
    N -= line을 하면 각 line에서 N이 몇번째에 위치하는지 알 수 있다.
  4. 짝수일때는 분모 -1씩 분자 +1씩, 홀수일때는 분모 +1씩 분자 -1씩 증감한다.
  5. 출력 형식에 맞게 분자, 분모를 출력하면 끝!

👌🏻코드

N = int(input())

line = 1

while N > line:
    N -= line
    line += 1
    
if line % 2 == 0:
    numerator, denominator = N, line - N + 1
        
else:
    numerator, denominator = line - N + 1, N
        
print(numerator, '/', denominator, sep = '')

어려웠음 ;;; 난 구현이랑 안맞나보네

0개의 댓글