지그재그로 분수가 주어질 때, 해당 순서의 분수를 찾는 문제
처음에는
이런식의 지그재그라고 생각했었다.
허나 문제를 다시 읽어보니 ( 코드를 제출하고 나서, 틀리고나서 다시 확인해보니 )
위와 같은 지그재그였다.
문제를 똑바로 읽는 것이 정말 중요하다.
지그재그는 두 방법으로 이루어진다.
위로 올라갈 때도 로직은 똑같다. 방향만 다를 뿐이다.
그렇다면 방향을 알려줄 변수가 필요하다.
나는 flag로 방향을 설정했다.
만약 flag == True
이면 방향을 아래로, flag == False
라면 방향을 위로 설정했다.
while count!=n :
조건으로 while loop를 돌릴 건데, while loop안에 다시 while loop가 돌으므로 중간 조건으로 count!=n
을 넣어주어야 한다.
import sys
n = int(input())
if n==1:
print("1/1")
sys.exit(0)
son = 1
mom = 2
count = 2
# flag
# True = down
# False = up
flag = True
while count!=n:
if flag:
while mom!=1 and count!=n:
son+=1
mom-=1
count+=1
if count==n:
break
else:
son+=1
count+=1
flag=False
else:
while son!=1 and count!=n:
son-=1
mom+=1
count+=1
if count==n:
break
else:
mom+=1
count+=1
flag=True
print(str(son) + "/" + str(mom))