숫자 더하기
공백 없이 여러 숫자가 이어진 문자열 \(S\)가 주어진다.
\(S\)를 왼쪽부터 순서대로 여러 조각으로 나누려고 한다. 각 조각은 한 자리 또는 두 자리여야 하며, 모든 숫자를 빠짐없이 정확히 한 번 사용해야 한다. 각 조각을 십진수로 보았을 때, 조각으로 얻은 수들의 합이 최대가 되도록 나누어야 한다.
가능한 합의 최댓값을 구하시오.
입력
첫째 줄에 숫자로만 이루어진 문자열 \(S\)가 주어진다.
출력
\(S\)를 한 자리 또는 두 자리씩 나누어 얻을 수 있는 수들의 합의 최댓값을 출력한다.
제한 사항
- \(1 \le |S| \le 10\)
- \(S\)가 두 자리 이상이면 첫 번째 문자는
0이 아니다. - \(S\)를 하나의 십진수로 보았을 때 그 값은 \(2,000,000,000\) 이하이다.
- 두 자리 조각의 첫 번째 숫자가
0일 수 있으며, 이 경우에도 해당 조각을 십진수로 해석한다.
예제 입력 1
314159
예제 출력 1
131
예제 설명 1
31 | 41 | 59로 나누면 합은 \(31+41+59=131\)이다. 이보다 큰 합을 만들 수 없다.
예제 입력 2
12345
예제 출력 2
69
예제 설명 2
1 | 23 | 45로 나누면 합은 \(1+23+45=69\)이다. 이보다 큰 합을 만들 수 없다.
코멘트