아이디어
1. 정사각형에 포함된 점은 a 개가 a 줄만큼 나열된 형태입니다. 즉 a 를 구하면 a x a 를 통해 정답을 구해낼 수 있습니다.
2. 한 줄에 포함된 점이 a 개인 정사각형에 대해 중앙이동 알고리즘을 적용하면 '가로' 기준 a 개인 정사각형 하나를 이어 붙인다고도 볼 수 있습니다.
3. 다만 이어 붙이는 과정에서 접합부의 점 1개가 겹치게 되므로 새롭게 만들어진 정사각형의 한 줄에 포함된 점은
2 x a - 1 개가 됩니다.
4. 따라서 초기값 a = 2 에서 시작하여 N 번만큼 2 x a - 1을 반복하고 마지막에 그 값을 제곱해주면 됩니다.
풀이코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int dotByLine = 2;
for (int i = 0; i < N; i++) {
dotByLine = dotByLine * 2 - 1;
}
System.out.println(dotByLine * dotByLine);
}
}
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
10799번. 쇠막대기 (0) | 2023.04.12 |
---|---|
2292번. 벌집 (0) | 2023.04.07 |
2869번. 달팽이는 올라가고 싶다 (0) | 2023.04.06 |
2720번. 세탁소 사장 동혁 (0) | 2023.04.04 |
11005번. 진법 변환 2 (0) | 2023.04.04 |