아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

숫자 자물쇠

면접 대비

시간 제한2초메모리 제한512 MB

요약
길이가 같은 두 숫자 문자열 S와 T가 주어질 때, 연속한 구간의 모든 다이얼을 한 방향으로 1만큼 돌리는 연산으로 S를 T로 바꾸는 최소 횟수를 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 그리디, 구현, 배열
정답자
아직 제출이 없습니다

문제

다이얼 NN개로 이루어진 숫자 자물쇠가 있다. 각 다이얼에는 0부터 9까지의 숫자가 순서대로 적혀 있다.

다이얼을 위로 돌리면 보이는 숫자가 0은 1로, 1은 2로, 계속 이어지다가 9는 0으로 바뀐다. 아래로 돌리면 반대 방향으로 바뀐다.

한 번에 다이얼 여러 개를 동시에 돌릴 수 있다. 이때 함께 돌리는 다이얼은 연속해 있어야 하고, 개수에는 제한이 없다. 함께 돌린 다이얼은 모두 같은 방향으로 한 칸씩 움직인다.

예를 들어 자물쇠가 123이라면, 다이얼 세 개를 모두 아래로 돌려 012를, 모두 위로 돌려 234를, 가운데 다이얼만 위로 돌려 133을, 앞의 두 다이얼을 아래로 돌려 013을 만들 수 있다. 224는 한 번 돌려서 만들 수 없다.

현재 자물쇠의 상태 SS와 맞추려는 상태 TT가 주어질 때, SS를 TT로 만들기 위해 다이얼을 돌려야 하는 횟수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 SS가, 둘째 줄에 TT가 주어진다. 두 문자열의 길이는 같고, 그 길이 NN은 1≤N≤501 \le N \le 50을 만족한다. SS와 TT는 0부터 9까지의 숫자로만 이루어지며, 맨 앞자리가 0일 수 있다.

출력

첫째 줄에 SS를 TT로 만들기 위해 다이얼을 돌려야 하는 횟수의 최솟값을 출력한다.

예제5

  1. 예제 1

    입력
    123
    112
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1
    7
    
    예상 출력
    4
    
  3. 예제 3

    입력
    607
    607
    
    예상 출력
    0
    
  4. 예제 4

    입력
    1234
    4567
    
    예상 출력
    3
    
  5. 예제 5

    입력
    020
    909
    
    예상 출력
    2