백준 문제 링크
분수찾기
- 문제에서 나타낸 지그재그 방향은 아래와 같다.
- 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- 초기값 N = int(input())과 line = 1로 설정한다.
N이 line보다 클 때 까지 N에서 line을 빼고, line을 1씩 증가시킨다.
N -= line을 하면 각 line에서 N이 몇번째에 위치하는지 알 수 있다.- 짝수일때는 분모 -1씩 분자 +1씩, 홀수일때는 분모 +1씩 분자 -1씩 증감한다.
- 출력 형식에 맞게 분자, 분모를 출력하면 끝!
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 = '')
어려웠음 ;;; 난 구현이랑 안맞나보네