깃허브:
https://github.com/MSIQOC/BOJ/blob/master/b9461_%ED%8C%8C%EB%8F%84%EB%B0%98%EC%88%98%EC%97%B4.java
주어진 그림에서 계속해서 나선모양으로 정삼각형을 그려나가며 규칙을 찾아보았다.
1부터 9까지는 기본적으로 주어진 것이고, 그 뒤로 계속 구해보다보면 규칙을 발견하게 된다.
위 그림을 토대로 기본적으로 주어진 것의 다음 숫자에 대해서는 다음과 같은 점화식을 세울 수 있다.
이를 코드로 표현해보면 위와 같이 p[1]부터 p[10]까지는 기본으로 주어진 값을 저장시키고 그 다음부터 p[100]까지는 위에서 구한 점화식을 이용하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//
// Created by MinSeo on 2021/03/27.
// Copyright ⓒ 2021 MinSeo Shin. All rights reserved.
//
import java.io.*;
import java.util.*;
public class b9461_파도반수열 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(br.readLine());
long p[] = new long[101];
p[1] = 1;
p[2] = 1;
p[3] = 1;
p[4] = 2;
p[5] = 2;
p[6] = 3;
p[7] = 4;
p[8] = 5;
p[9] = 7;
p[10] = 9; //초기화
for(int i=11; i<=100; ++i) {
p[i] = p[i-1] + p[i-5];
}
while(t-- > 0) {
int a = Integer.parseInt(br.readLine());
bw.write(p[a] + "\n");
}
bw.flush();
}
}
|
'백준 풀이' 카테고리의 다른 글
백준 11047 - 동전0 (0) | 2021.03.28 |
---|---|
백준 1149 - RGB거리 (0) | 2021.03.28 |
백준 9095 - 1,2,3 더하기 (재귀) (0) | 2021.02.20 |
백준 15990 - 1, 2, 3 더하기 5 (0) | 2021.02.07 |
백준 11025 - 카드 구매하기 (0) | 2021.02.07 |