[JAVA]백준 2903번 중앙 이동 알고리즘 🤎3 : 풀이 규칙을 잘 찾자!

2024. 11. 7. 02:48·Problem Solve

https://www.acmicpc.net/problem/2903

 

문제 설명:
백준 2903번 문제는 1x1 정사각형에서 시작해 각 반복마다 점의 개수를 계산하는 문제입니다. 이 문제는 점의 수가 증가하는 규칙을 파악하는 것이 핵심입니다.

문제 이해:

  • 시작 상태는 1x1 정사각형입니다.
  • 각 반복 단계마다 축의 선분 수가 두 배로 증가합니다. (이런 규칙도 보인다.)
  • n번 반복 후 전체 점의 수를 구해야 합니다.

성장 패턴 분석:
단계별로 점의 수를 확인해봅시다:

  1. 0번째 반복 (초기 상태):
    • 점의 수: (2x2) = 4개
  2. 1번째 반복:
    • 각 축의 선분 수가 2배가 됨.
    • 점의 수: (2 + 1) x (2 + 1) = 3x3 = 9개
  3. 2번째 반복:
    • 각 축의 선분 수가 2^2이 됨.
    • 점의 수: (2^2 + 1) x (2^2 + 1) = 5x5 = 25개
  4. 3번째 반복:
    • 점의 수: (2^3 + 1) x (2^3 + 1) = 9x9 = 81개

공식:
위의 패턴을 분석해보면 n번째 반복 후 점의 수는 다음 공식을 사용하여 계산할 수 있습니다: (2^N+1)x(2^N+1)

 

코드 구현:
다음은 Java로 작성된 간단한 코드입니다:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int result = (int) Math.pow(2, n) + 1;
        System.out.println(result * result);
    }
}
    • 요약:
      이 문제는 반복적으로 축의 선분 수가 두 배로 늘어날 때, 전체 점의 수가 어떻게 변하는지를 이해하는 것이 핵심입니다. 공식 를 사용하여 빠르게 점의 개수를 구할 수 있습니다.
어떻게 보면 간단한 수학문제이지만, 이런 규칙을 찾아내는 느낌을 날카롭게 항상 유지하자.

'Problem Solve' 카테고리의 다른 글

[JAVA] 2798번 블랙잭 🤎2 : 나의 첫 무서운 브루트포스 알고리즘 풀이  (2) 2024.11.13
[JAVA] 백준 1978번 소수찾기 🤎2 : 소수의 약수 범위에 대한 매우 중요한 생각!  (0) 2024.11.11
[JAVA] 10809번 알파벳 찾기 🤎2 : 아스키코드를 활용한 문자열 갯수 카운팅하기!  (1) 2024.11.10
[JAVA]백준 3052번 🤎2 : (나의 첫 Set 자료구조를 이용한 백준 문제!)  (0) 2024.11.07
[JAVA]백준 2530 : 인공지능 시계🤎4 : 시분초를 잘 활용해야 하는 문제  (1) 2024.10.20
'Problem Solve' 카테고리의 다른 글
  • [JAVA] 백준 1978번 소수찾기 🤎2 : 소수의 약수 범위에 대한 매우 중요한 생각!
  • [JAVA] 10809번 알파벳 찾기 🤎2 : 아스키코드를 활용한 문자열 갯수 카운팅하기!
  • [JAVA]백준 3052번 🤎2 : (나의 첫 Set 자료구조를 이용한 백준 문제!)
  • [JAVA]백준 2530 : 인공지능 시계🤎4 : 시분초를 잘 활용해야 하는 문제
노을을
노을을
진인사대천명
  • 노을을
    노을의 개발일기장
    노을을
  • 전체
    오늘
    어제
    • All (61) N
      • Java & Kotlin (16)
      • Spring (3) N
      • Problem Solve (13) N
      • Computer Science (0)
      • Infra (1)
      • DB (2)
      • Various Dev (23)
        • 우아한테크코스 (9)
        • Git&Github (2)
        • Unity (12)
      • Book (1)
      • Writing (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발자
    알고리즘
    프리코스
    스프링
    github
    티스토리챌린지
    8기
    합격
    코딩테스트
    게임개발
    오픈미션
    java
    우테코
    자바
    백준
    우아한테크코스
    유니티
    코테
    코딩
    개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
노을을
[JAVA]백준 2903번 중앙 이동 알고리즘 🤎3 : 풀이 규칙을 잘 찾자!
상단으로

티스토리툴바