본문 바로가기
[ 다먹살 ]/- Coding

[백준] 9461 파도반 수열

by 엉망으로살기 2021. 11. 24.
반응형

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

 

9461번: 파도반 수열

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

www.acmicpc.net

 

규칙성을 찾고 DP를 사용하면 되는 간단한 문제였다. 다만 n이 최대 100까지 제한이 걸려있기 때문에 자료형에 유의해서 int가 아닌 long으로 dp용 배열을 선언한다면 쉽게 해결할 수 있다.


문제 및 입출력


코드

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        int t = sc.nextInt();
        long[] dp = new long[101];
        
        // dp 초기값 설정
        for(int i=1; i<=3; i++)
        {
            dp[i] = 1;
        }
        // dp 실행
        for(int i=4; i<=100; i++)
        {
            dp[i] = dp[i-3]+dp[i-2];
        }
        // 테스트케이스별로 n을 입력받은 후 dp[n] 결과저장
        for(int i=0; i<t; i++)
        {
            int n = sc.nextInt();
            sb.append(dp[n] + "\n");
        }
        
        System.out.print(sb.toString());
        sc.close();
    }
}

 

반응형

댓글