회전 비밀번호 자물쇠
의견: 0
다이얼 자물쇠는 \(N\) 개의 바퀴로 이루어져 있고, 각 바퀴에는 \(0\) 부터 \(9\) 까지의 숫자가 적혀 있어 현재 한 개의 숫자를 보여 준다. 한 번의 조작으로 한 바퀴를 위로 한 칸 또는 아래로 한 칸 돌릴 수 있으며, 숫자는 순환한다. 즉 위로 돌리면 \(9\) 다음은 \(0\) 이 되고, 아래로 돌리면 \(0\) 다음은 \(9\) 가 된다.
현재 자물쇠가 보여 주는 비밀번호와 만들고자 하는 목표 비밀번호가 주어질 때, 현재 상태에서 목표 상태로 만들기 위해 필요한 최소 조작 횟수(모든 바퀴의 회전 칸 수의 합)를 구하는 프로그램을 작성하라.
각 바퀴는 서로 독립적으로 돌릴 수 있다.
\(1 \le N \le 100{,}000\)
두 비밀번호는 모두 정확히 \(N\) 개의 숫자로 이루어져 있다.
첫째 줄에 바퀴의 개수 \(N\) (\(1 \le N \le 100{,}000\)) 이 주어진다.
둘째 줄에 현재 비밀번호가 \(N\) 자리의 숫자 문자열로 주어진다.
셋째 줄에 목표 비밀번호가 \(N\) 자리의 숫자 문자열로 주어진다.
각 문자는 \(0\) 부터 \(9\) 까지의 숫자이며, 맨 앞이 \(0\) 일 수도 있다.
현재 비밀번호를 목표 비밀번호로 만들기 위한 최소 조작 횟수를 한 줄에 출력한다.
4
1234
2835
6
1번째 바퀴: 1 → 2 (위로 1칸)
2번째 바퀴: 2 → 8 (아래로 4칸; min(6, 4) = 4)
3번째 바퀴: 3 → 3 (0칸)
4번째 바퀴: 4 → 5 (위로 1칸)
합계 = 1 + 4 + 0 + 1 = 6
1
0
9
1
0 → 9 는 아래로 1칸이면 충분하다 (min(9, 1) = 1).
riseoj 작성
출처 Original
평가 및 의견
회전 비밀번호 자물쇠
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
회전 비밀번호 자물쇠