코드 복사/붙여넣기 하는 당신이 아름답습니다.

2591 : 숫자카드

풀이

n-1번째 숫자와 n번째 숫자로 만든 값이 10~34면 dp[n-2]를 플러스

n번째 숫자가 0보다 크면(단독으로 숫자를 구성할 수 있으면) dp[n-1]을 플러스

코드

#include <stdio.h>
int i, a[44], dp[44];
int main() {
	dp[1] = 1;
	for (i = 2; ~scanf("%1d", &a[i]); i++) {
		if (a[i]) dp[i] += dp[i - 1];
		if (a[i] + a[i - 1] * 10 > 9 && a[i] + a[i - 1] * 10 < 35) dp[i] += dp[i - 2];
	}
	printf("%d", dp[i - 1]);
	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge

wookje.kwon's profile image

wookje.kwon

2017-06-01 21:54

Read more posts by this author