반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
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
Archives
Today
Total
관리 메뉴

욱꾸미의 주꾸미 발

[코딩테스트] 백준(BAEKJOON) - 파도반 수열(Java, 9461번) 본문

코딩테스트/백준

[코딩테스트] 백준(BAEKJOON) - 파도반 수열(Java, 9461번)

욱꾸미 2023. 1. 10. 00:28
반응형

안녕하세요.

자기전에 문제나 하나 읽고 생각해보며 자자!라고 하다가 바로 규칙이 보여

헐레벌떡풀고 글하나 또 남기고 자고자 합니다.

 

다행히 규칙이 보였네요~

문제 입니다.

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

 

9461번: 파도반 수열

오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의

www.acmicpc.net

 

이거는 문제에서 준 힌트가 크다고 할 수 있겠습니다.

"P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다."

이 구간을 읽고 바로 규칙을 찾아보고자 했습니다.

 

보이신분도 계시겠지만 안보이신 분을 위해 남기자면

N>3일 경우

P(N)=P(N-2)+P(N-3)의 규칙을 따라가고 있습니다.

마지막으로 코드 남기고 마무리하겠습니다.

 

import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main {
		public static void main(String[] args) throws NumberFormatException, IOException {
			Scanner sc=new Scanner(System.in);
			
			int count=sc.nextInt();
			
			for(int i=0;i<count;i++)
			{
				int number=sc.nextInt();
				long[] arr=new long[101];
				arr[1]=1L;
				arr[2]=1L;
				arr[3]=1L;
				
				for(int j=4;j<=number;j++)
					arr[j]=arr[j-2]+arr[j-3];
				
				System.out.println(arr[number]);
				
			}		
	}

}

 

혹시라도 규칙이 안보였다고하신다면

괜찮습니다. 저도 그렇고!!! 이걸로 포기하기에는 아쉽습니다.

그럼 이걸로 경험삼아 다음문제도 풀며 발전해나갑시다~!!💪💪💪💪

반응형