이 문제는 딱 한가지 규칙만 알아내면 코드를 무척이나 쉽게 작성할 수 있다. 위의 사진에서 보면 처음의 시작은 4개의 점으로 시작되고, 한 단계가 지나게 되면 9개, 그리고 두 단계를 거치면 25개로 늘어난다.
규칙을 파악해보면
1. 우선 각 변에 존재하는 점의 갯수의 제곱값이 모든 점의 갯수가 된다는 점이며,
2. 마지막으로 한단계가 지날수록 각 변에서의 점의 갯수가 (이전 단계의 변의 갯수 - 1) 만큼 늘어난다는 점이다.
이를 토대로 한 단계가 지나게 되면 모든 점의 갯수는 결국 [(전 단계의 변에서의 점의 갯수)+(전 단계의 변에서의 점의 갯수-1)]의 제곱이 된다는 것을 어렵지 않게 알 수가 있다. 따라서 각 단계마다 변에서의 점의 갯수를 2번 규칙대로 계속 늘려주고, 마지막에 출력해줄 때는 마지막 단계를 모두 거친 후 얻게 되는 변에서의 점의 갯수의 제곱을 출력해주면 된다.
코드
import sys
# 진행할 단계 수
N = int(input())
# 초기값의 한변의 갯수
result = 2# 규칙을 토대로 늘어나는 한 변의 수를 계산for i inrange(N):
result = (result+(result-1))
print(result**2)