본문 바로가기

알고리즘/소프티어

[파이썬] Softeer 연습문제 #15. 지도 자동 구축 완벽해설

 

문제

 

 

https://softeer.ai/practice/6280

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

현대자동차그룹이 레벨3 자율주행차 상용화 목표에 발맞춰 총력을 다하고 있는 가운데, 국내 최고 수준의 지도 구축 기술력을 보유한 현대엠엔소프트는 자율주행에 필요한 정밀지도를 제작해

softeer.ai

 

 

해설

 

 

이 문제는 딱 한가지 규칙만 알아내면 코드를 무척이나 쉽게 작성할 수 있다. 위의 사진에서 보면 처음의 시작은 4개의 점으로 시작되고, 한 단계가 지나게 되면 9개, 그리고 두 단계를 거치면 25개로 늘어난다.

 

규칙을 파악해보면

1. 우선 각 변에 존재하는 점의 갯수의 제곱값이 모든 점의 갯수가 된다는 점이며, 

2. 마지막으로 한단계가 지날수록 각 변에서의 점의 갯수가 (이전 단계의 변의 갯수 - 1) 만큼 늘어난다는 점이다.

 

이를 토대로 한 단계가 지나게 되면 모든 점의 갯수는 결국 [(전 단계의 변에서의 점의 갯수)+(전 단계의 변에서의 점의 갯수-1)]의 제곱이 된다는 것을 어렵지 않게 알 수가 있다. 따라서 각 단계마다 변에서의 점의 갯수를 2번 규칙대로 계속 늘려주고, 마지막에 출력해줄 때는 마지막 단계를 모두 거친 후 얻게 되는 변에서의 점의 갯수의 제곱을 출력해주면 된다.

 

 

코드
import sys

# 진행할 단계 수
N = int(input())
# 초기값의 한변의 갯수
result = 2

# 규칙을 토대로 늘어나는 한 변의 수를 계산
for i in range(N):
  result = (result+(result-1))

print(result**2)

 

 

결과