문제
원문 보기 (영어)left부터 right까지(양 끝값 포함) 인접한 자릿수가 모두 다른 정수의 개수를 세세요. 숫자는 일반적인 십진수 표기(앞에 0 없음)를 사용합니다. 0과 모든 한 자리 수는 조건을 만족합니다.
counting_numbers(left, right)를 구현하세요.
입력
left: 허용되는 첫 번째 값입니다.
right: 허용되는 마지막 값입니다.
출력
조건을 만족하는 값의 개수를 반환하세요.
제약 조건
0 ≤ left ≤ right ≤ 10¹⁸. 구간이 너무 커서 모든 정수를 하나씩 검사할 수 없습니다.
예시
예시 1
입력:
left = 10
right = 15
예상 출력:
expected = 5
입력:
long long left = 10;
long long right = 15;
예상 출력:
long long expected = 5;
입력:
long left = 10;
long right = 15;
예상 출력:
long expected = 5;
설명
11만 인접한 자릿수가 같으므로 제외됩니다. 나머지 다섯 수는 조건을 만족합니다.
예시 2
입력:
left = 0
right = 9
예상 출력:
expected = 10
입력:
long long left = 0;
long long right = 9;
예상 출력:
long long expected = 10;
입력:
long left = 0;
long right = 9;
예상 출력:
long expected = 10;
설명
열 개의 값 모두 한 자리 수이므로 인접한 자릿수가 같지 않습니다.
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.