PS

백준 2591. 숫자카드

tose33 2023. 2. 21. 15:33

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

 

2591번: 숫자카드

1부터 34까지 수가 적힌 카드가 충분히 많이 있다. 이들 중 몇 장을 일렬로 늘어놓고, 그 숫자를 차례로 적었다. 예를 들어 아래와 같이 카드가 놓인 경우 숫자를 차례로 적으면 27123이 된다. 나중

www.acmicpc.net

 

이 문제는 dp 문제인데 dp 아이디어를 떠올리는 것 보다는 예외처리가 까다로운 문제였다.

dp 아이디어 자체는 단순히 d[i] = d[i-1] + d[i-2] 의 피보나치 형태이긴하다.

그런데 카드가 1부터 34카드 까지 있다는 조건 때문에 예외처리를 해줘야 한다.

 

1. 카드가 1 부터 34 까지 있으므로 입력에 0이 없다고 생각할수 있는데 10 카드가 있으므로 0이 있을수 있다.

2. 이전(i-1)에서 한자리 숫자를 더하는 경우, 현재 숫자가 0이라면, 카드 0이 없기 때문에 더해줄수 없다.

3. 이전전(i-2)에서 두자리수의 카드를 더하는 경우, 두자리수 카드가 10 이상 34 이하 여야 더해줄수 있다.