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();
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 1292 쉽게 푸는 문제 (0) | 2021.11.26 |
---|---|
[백준] 10819 차이를 최대로 (0) | 2021.11.25 |
[백준] 1002 터렛 (0) | 2021.11.24 |
[백준] 1010 다리놓기 (0) | 2021.11.24 |
[프로그래머스] 레벨2 카카오프렌즈 컬러링북 (0) | 2021.11.23 |
댓글