본문 바로가기
Tech/Coding

스파이럴 수열

by redcubes 2025. 5. 14.

나선형 화살표 총 길이의 일반식 도출

다음과 같은 그림에서는 격자 안을 나선형으로 도는 화살표들이 있습니다. 이 화살표들의 전체 길이를 어떻게 계산할 수 있는지 수학적으로 알아보겠습니다.

1. 기본 조건 정리

  • 격자의 세로 칸 수: n
  • 격자의 가로 칸 수: m

이때 나선형으로 돌며 그려지는 화살표들의 전체 길이를 계산합니다. 방향은 오른쪽 → 아래 ↓ 왼쪽 ← 위 ↑ 로 반복됩니다.

2. 예제 분석

예시 1: 세로 6, 가로 11

총 길이 = (6-1) + (11-2) + (6-2) + (11-3) + (6-3) + (11-4) + (6-4) + (11-5) + (6-5) + (11-6) + (6-6)
        = 세로 이동: 5 + 4 + 3 + 2 + 1 + 0
        + 가로 이동: 9 + 8 + 7 + 6 + 5
        = 15 + 35 = 50

여기서 세로 이동은 6에서 시작하여 1씩 줄어들고, 가로 이동은 11에서 시작하여 2부터 6까지 빼는 구조입니다.

예시 2: 세로 6, 가로 6

총 길이 = (6-1) + (6-2) + (6-2) + (6-3) + (6-3) + (6-4) + (6-4) + (6-5) + (6-5)
        = 세로 이동: 5 + 4 + 4 + 3 + 3 + 2 + 2 + 1 + 1
        = 총합: 25

가로 길이도 같기 때문에 세로 이동만으로 계산됩니다.

예시 3: 세로 6, 가로 5

총 길이 = (6-1) + (5-2) + (6-2) + (5-3) + (6-3) + (5-4) + (6-4)
        = 세로 이동: 5 + 4 + 3 + 2 = 14
        = 가로 이동: 3 + 2 + 1 = 6
        = 총합: 14 + 6 = 20

3. 규칙 찾기

세로 이동 거리

  • 처음에 (n - 1)부터 시작하여 1씩 줄어듦.
  • 줄어드는 횟수는 (가로 칸 수 - 1)번.
  • 따라서 세로 거리의 합은: (n - 1) + (n - 2) + ... + (n - (m - 1))

가로 이동 거리

  • 처음에 (m - 2)부터 시작하여 1씩 줄어듦.
  • 줄어드는 횟수는 (세로 칸 수 - 1)번.
  • 따라서 가로 거리의 합은: (m - 2) + (m - 3) + ... + (m - (n - 1))

4. 일반적인 형태로 정리

위에서 반복적으로 등장하는 값을 관찰하면 아래와 같이 정리됩니다.

  • 세로 방향 이동 횟수 = (m - 1)
  • 각 세로 이동마다 길이: (n - i) (단, i는 1부터 시작)
  • 총합: (n - 1) * (m - 1)

이 결과는 화살표가 돌면서 만들어지는 각 "꺾임"마다, 세로와 가로가 한 쌍씩 생기고 이 쌍의 개수는 정확히 (n-1)(m-1)개임을 의미합니다.

5. 결론

격자의 세로 칸 수가 n, 가로 칸 수가 m일 때, 나선형으로 그릴 수 있는 전체 화살표의 길이의 총합은 아래와 같습니다.


총 길이 = (n - 1)(m - 1)

'Tech > Coding' 카테고리의 다른 글

  (0) 2025.05.20
2399번-거리의 합  (0) 2025.05.15
오토마타(Automata)와 UML(Unified Modeling Language)  (0) 2025.05.09
Suffix Automaton과 KMP 비교 이해  (0) 2025.05.06
FSM과 DFA, NFA의 개념과 차이  (0) 2025.05.05