RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R01558

회전 비밀번호 자물쇠

Bronze II 브론즈 II
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 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\) 일 수도 있다.

출력 형식

현재 비밀번호를 목표 비밀번호로 만들기 위한 최소 조작 횟수를 한 줄에 출력한다.

예제 1
입력
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

예제 2
입력
1
0
9
출력
1
설명

0 → 9 는 아래로 1칸이면 충분하다 (min(9, 1) = 1).

문제 정보

riseoj 작성

출처 Original

평가 및 의견

회전 비밀번호 자물쇠

개요
출제자 난이도 Bronze II 브론즈 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

회전 비밀번호 자물쇠

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8