페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4622

한자리수 만들기 1s 256MB

문제

덧셈 기호 '+'를 사용해 어떤 수를 한 자리 수로 만들고자 한다.

수를 하나의 문자열로 생각했을 때, 숫자와 숫자 사이 중 한 곳에 덧셈 기호를 삽입할 수 있다.

덧셈 기호가 삽입되면 원래의 수는 덧셈 기호를 사이에 둔, 두 수의 합을 나타내는 식이 된다.

이 식을 계산하여 이전의 수보다 작은 새로운 수를 만들 수 있다.

덧셈 기호를 삽입할 수 없는 한 자릿수가 나올 때까지 이 작업을 반복한다.

 

아래 예시는 73425를 한 자릿수로 만드는 방법 2가지를 나타낸다.

 

* 방법 1.

(73425) -> (7 + 3425 = 3432) -> (3 + 342 = 435) -> (4 + 35 = 39) -> (3 + 9 = 12) -> (1 + 2 = 3)

 

* 방법 2.

(73425) -> (73 + 425 = 498) -> (49 + 8 = 57) -> (5 + 7 = 12) -> (1 + 2 = 3)

 

위의 2가지 방법 중 두 번째가 덧셈 기호 사용 횟수를 최소로 하여 한 자릿수를 만드는 방법이다.

4회 만에 한 자릿수를 만드는 다른 방법도 있지만, 

다른 어떤 방법으로도 4회보다 적은 횟수로 한 자릿수를 만들 수 없다. 

그리고 연산 과정이 끝난 후 만들어진 한 자릿수는 3이다.

 

10억 이하의 자연수 N이 주어진다. 

덧셈 기호를 가장 적게 사용해 N을 한 자릿수로 만들 때,

덧셈 기호 사용 횟수 a와 연산 과정 끝에 만들어진 

한 자릿수 b를 구하는 프로그램을 작성하시오. 


입력

첫 행에 N이 주어진다. (1 <= N <= 1,000,000,000) 


출력

최소의 사용횟수 a와 구한 한 자릿수 b를 하나의 행에 공백을 구분하여 출력한다.

최소의 사용횟수 a​를 만족하는 b가 여러 가지인 경우 최소가 되는 b를 출력한다.

0을 제외하고 0으로 시작하는 수는 사용할 수 없다.(2번 예제설명 참조) 


예제 #1

73425
4 3

예제 #2

10007
4 8

예제 #3

9
0 9


출처

LINE2020_2 3번 | dnfka0930
로그인해야 코드를 작성할 수 있어요.