포스트

[ 백준 ] 1193번 분수 찾기

문제




풀이



이 문제는 표에 나열된 분수들이 1/1 -> ½ -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 일정한 주기로 분수들이 반복되는 배열로 이루어져 있으며, 표와 같이 일정한 방향과 순서를 통해 이 것이 반복되고 있다.

반복되는 현상을 이용하여, 문제를 풀었으며 이는 이전 아래의 달팽이 문제를 푸는 방식과 같았다.


달팽이 문제에서 정사각형의 크기를 입력 받은 후 시계 방향으로 돌면서 다음과 같은 형태로 출력하는 프로그램을 작성


< 처리 조건 >

(1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입 시킨다.

(2) 오른쪽으로 채워 나가다가 끝이면 다시 아래 → 왼쪽 → 위 →오른쪽의 순으로 모두 채워질 때까지 반복한다.


사용 함수



반복문을 이용하여 입력한 값만큼 이동하여 출력 값을 구하고자 함.

이동 방향은 오른쪽-> 왼 아래 대각선 이동 -> 한 칸 아래 -> 오른쪽 위 대각선 이동이 반복되며 대각선 직선 이동은 더 이동할 곳이 있으므로 지정해준 포인트와 숫자가 같으면 멈추고 대각선 이동은 포인트보다 클 때까지 움직여야 하므로 포인트보다 클 때까지 이동.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.