


이번 문제는 정사각형의 각 변에 있는 점의 개수가 같다는 점을 이용하는 문제이다.
각 변의 점 개수가 규칙적으로 증가하는 것을 확인하면, N번째에서 한 변의 점의 개수는 2^N + 1임을 알 수 있다.
따라서 전체 점의 개수는 (2^N + 1)^2로 구할 수 있다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp3
{
internal class math1
{
static void Main(string[] args)
{
//백준 2903 중앙 이동 알고리즘
int N = int.Parse(Console.ReadLine());
// 정사각형이므로 모든 변의 점 개수는 동일하다.
// N번째에서 한 변의 점 개수 = 2^N + 1 (이전 단계에서 2배로 증가 후 중간 점 추가)
// 총 점의 개수 = (한 변의 점 개수)^2 = (2^N + 1)^2
Console.WriteLine(Math.Pow(Math.Pow(2, N) + 1, 2));
}
}
}



이번 문제는 규칙을 빠르게 파악하면 쉽게 해결할 수 있는 문제였다. 처음에는 ‘중앙 이동 알고리즘’이라는 이름 때문에 어려운 문제인가 싶어 시간을 들여 고민했다. 하지만 규칙을 찾아보니, 중앙을 기준으로 양쪽에 동일한 개수의 점이 추가되며 각 변의 점 개수가 규칙적으로 증가한다는 것을 알 수 있었고 이 규칙을 이해한 후에는 문제를 쉽게 해결할 수 있었다.
마지막으로, 이번 문제를 풀면서 규칙을 빠르게 찾고 문제를 해석하는 능력이 아직 부족하다고 느꼈다. 앞으로 다양한 문제를 풀어보며 문제를 바라보는 시각을 넓혀야겠다고 생각했다.
'코딩 테스트 > 백준' 카테고리의 다른 글
| 백준 - [단계별로 풀어보기 수학1] 2869 달팽이는 올라가고 싶다 (0) | 2026.03.24 |
|---|---|
| 백준 - [단계별로 풀어보기 수학1] 2292 벌집 (0) | 2026.03.23 |
| 백준 - [단계별로 풀어보기 수학1] 2720 세탁소 사장 동혁 (0) | 2026.03.22 |
| 백준 - [단계별로 풀어보기 수학1] 11005 진법 변환2 (0) | 2026.03.21 |
| 백준 - [단계별로 풀어보기 수학1] 2745 진법 변환 (0) | 2026.03.20 |