티스토리 뷰
import java.io.*;
public class boj_1309 {
static int[][] dp;
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static final int mod = 9901;
public static void main(String[] args) throws IOException {
int n = Integer.parseInt(br.readLine());
dp = new int[n+1][3];
dp[0][2] = 1;
for (int i = 1; i <= n; i++) {
dp[i][0] = dp[i-1][1] + dp[i-1][2];
dp[i][1] = dp[i-1][0] + dp[i-1][2];
dp[i][2] = dp[i-1][0] + dp[i-1][1] + dp[i-1][2];
dp[i][0] %= mod;
dp[i][1] %= mod;
dp[i][2] %= mod;
}
int ans = (dp[n][0] + dp[n][1] + dp[n][2]) % mod;
System.out.println(ans);
}
}
- 마지막 부분에 초점을 맞춤
- dp[n+1][3] :: 0 왼쪽칸, 1 오른쪽칸 , 2 둘 다 비었을때
- dp[n][x] -> n개의 세로 중 x번째에 사자가 있는 경우 => dp[n-1][x가 아닌수]의 합
- 초기에 전부 사자가 없는 경우도 1가지의 방법으로 해준다고 했으니 dp[0][2] = 1;
- ans는 모든 경우의 수의 합
'PS > boj' 카테고리의 다른 글
boj)9465 - 스티커 (0) | 2020.09.19 |
---|---|
boj)11057 - 오르막수 (0) | 2020.09.19 |
boj)1149 - RGB 거리 (0) | 2020.09.19 |
boj)2225 - 합분해 (0) | 2020.09.18 |
boj)1699 - 제곱수 (0) | 2020.09.18 |
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 이펙티브자바
- BOJ
- 모던자바스크립트
- 이펙티브자바 아이템60
- JS 딥다이브
- java
- 드림코딩
- 이펙티브자바 스터디
- 백기선 스터디
- Spring Security
- 프로그래머스
- 백준
- REST API
- 이펙티브자바 아이템59
- JPA 연관관계 매핑
- 김영한 JPA
- dreamcoding
- js array
- 김영한 http
- 킹수빈닷컴
- http
- js promise
- js api
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- GCP
- HTTP 완벽 가이드
- HTTP 완벽가이드
- 패스트캠퍼스 컴퓨터공학 완주반
- 프로그래머스 SQL
- ㅇㄷㅇㅈ
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함