BAEKJOON 2903번: 중앙 이동 알고리즘

Kim Hyen Su·2023년 6월 21일
0

⏲️ 알고리즘

목록 보기
19/95

2903번 문제

문제

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 15)

출력

첫째 줄에 과정을 N번 거친 후 점의 수를 출력한다.

🗝️포인트

  • 규칙을 찾는 문제(수열 문제!!)
    ▶ 한 변에 점 갯수.
    ▶ 공차 확인.
  • 규칙에 맞는 공식 작성 및 해당 공식을 풀어서 코드로 구현.

문제 분석

규칙 1번
: 한 변에 점 갯수가 2, 3, 5, 9, 17, 33,... 이러한 규칙을 가진며, 이 값들을 2 제곱 해보면, 각 도형의 점 갯수가 나타난다.

규칙 2번
: 각 수의 공차를 확인해보니깐 1, 2, 4, 8, 16, ... 2ⁿ의 규칙을 띄운다.

위 규칙들을 활용하여, 일반항을 구하면 (2ⁿ+1)² 이 나오게 된다.

이 공식을 코드로 구현하면 아래와 같다.

제출 답안

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
	public static void main(String[] args) throws IOException {
    
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int N = Integer.parseInt(br.readLine());

		long dot = 1; // 2^0 == 1이므로, 1로 초기화함.

		for(int i=0; i < N; i++){
			dot *= 2;
		}

		++dot;
		dot *= dot;
		System.out.println(dot);
		br.close();
	}
}
profile
백엔드 서버 엔지니어

0개의 댓글