파이썬 백준 2903번 문제 풀이
1. 문제 분석
한 변의 길이는 1, 2, 4, 8 이런식으로 2의 배수 만큼 길어진다.
한 변에 있는 원의 개수는 한 변의 길이 + 1 이다.
따라서 전체 원의 개수는 한 변에 있는 원의 개수 * 2
2. 코드
import math
N = int(input()) # N을 입력받는다
side = int(math.pow(2, N)) # N번 이후의 변의 길이
side_point = side + 1 # 한 변의 원의 개수
print(side_point * side_point)
2.1 코드분석
side = int(math.pow(2, N)) # N번 이후의 변의 길이
side 변수에 한 변의 길이를 저장한다.
side_point = side + 1 # 한 변의 원의 개수
side_point 변수에 한 변에 있는 원의 개수를 저장한다.
3. 총평
문제 설명을 보면 되게 어렵게 보이지만, Solve.ac 브론즈 3 문제로
규칙만 찾으면 간단하게 풀 수 있는 문제이다.
int(math.pow(side_point, 2))
정답을 출력할 때, 이런 식으로 작성하게 되면
double -> int로 형 변환이 되면서 누락되는 부분이 있는지 정답처리가 되지 않는다.
댓글남기기