반응형
일정한 규칙에 따라 점점 늘어나는 점들의 개수를 출력하는 문제이다.
접근 방법)
이 문제는 점의 개수가 특정 규칙에 따라 증가하는 패턴을 찾아서 최종적으로 점의 개수를 구하는 문제이다. 복잡해 보이지만 한 변의 점 개수의 규칙을 이해하면 금방 해결할 수 있다.
점의 개수 증가 규칙
한 변의 점 개수가 N에서 시작했다고 가정하면, 다음 단계에서는 (N-1) + N만큼 점이 찍힌다.
이 규칙을 반복적으로 적용하면 한 변의 점 개수를 구할 수 있다.
누적합과 제곱 활용
한 변의 점 개수를 구한 후, 그 값을 제곱하면 전체 점의 개수를 구할 수 있다.
이를 for문과 누적 합을 활용하여 구현하면 된다.
정답 코드 1)
import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int l_num = 2; // 처음 한 변의 길이
for(int i = 1; i <= N; i++){
int l_center = l_num - 1; // 다음 과정으로 넘어갈 때 추가되는 점 개수
l_num = l_num + l_center; // 앞 과정의 점 개수 + 추가된 점 개수
}
System.out.print((int)Math.pow(l_num, 2)); //Math 클래스를 사용
//System.out.print(l_num*l_num); //곱하기 연산 사용 (결과는 같음)
}
}
반응형
'Baekjoon 자바 코드 > 일반 수학' 카테고리의 다른 글
[백준] 1193번 분수 찾기 코드 (Java 자바) (0) | 2024.12.19 |
---|---|
[백준] 2292번 벌집 풀이 코드 (Java 자바) (0) | 2024.12.18 |
[백준] 2720번 세탁소 사장 동혁 풀이 코드 (Java 자바) (0) | 2024.12.16 |
[백준] 11005번 진법 변환2 풀이 코드 (Java 자바) (0) | 2024.12.11 |
[백준] 2745번 진법 변환 풀이 코드 (Java 자바) (0) | 2024.12.05 |