개발 블로그
article thumbnail

 

 

아이디어

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
profile

개발 블로그

@하얀.손

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!