Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Kubernetes
- javascript
- Reducer
- 쿠버네티스 컨트롤러
- Site Reliability engineering
- 프로세스
- 모두의캠퍼스
- fluentd
- React
- docker
- 북딜
- Redux
- 프로세스 통신
- SRE
- React.js
- #스웨거
- #Swagger-codegen
- #Swagger-editor
- 쿠버네티스
- ecs
- AWS
- #Swagger-ui
- action
- server
- IP
- #Swagger
- 기술PM
- 모캠
- #api 문서화
- 카카오게임즈
반응형
Archives
- Today
- Total
탕구리's 블로그
백준 알고리즘 11727번 2*N 타일링 2 본문
반응형
동적계획법(Dynamic Programming)
타일을 구성할 수 있는 방법에 대해 재귀를 이용하여 Dp배열을 완성
항상 기준은 1,2, ... N 일때 i 번째를 기준으로 앞 쪽에 저장된 Dp값을 이용하면 된다.
static public void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
long[] dp = new long[N+1];
System.out.println(solve(N,dp)%10007);
}
static long solve( int N, long[] dp)
{
if(dp[N] > 0)
{
return dp[N];
}
if(N == 0 )
{
return 1;
}
if(N >= 2)
{
long temp = solve(N-2,dp) * 2 + solve(N-1, dp);
dp[N] += temp%10007;
}
else
{
long temp = solve(N-1,dp);
dp[N] += temp%10007;
}
return dp[N];
}반응형
'Algorithm' 카테고리의 다른 글
| 백준 알고리즘 11066번 파일합치기 (0) | 2017.07.26 |
|---|---|
| 백준 알고리즘 11726번 2*N 타일링 (0) | 2017.07.26 |
| 백준 알고리즘 11053번 가장 긴 증가하는 부분 수열 (0) | 2017.07.26 |
| 백준 알고리즘 1520번 내리막길 (0) | 2017.07.26 |
| 백준 알고리즘 9465번 스티커 (0) | 2017.07.23 |
Comments