학습
시험

ISBN-10 코드

난이도
BEGINNER

문제 설명

도서, 논문 등의 출판물에는 국제적으로 고유하게 부여되는 10자리 ISBN-10 번호가 활용됩니다. ISBN-10은 엄격한 수학적 검증 규칙을 따르며, 한 자리라도 잘못 입력되면 즉시 오류가 감지됩니다.

당신은 10자리 숫자로 이루어진 문자열에서 두 자리가 '?'(미확정 숫자)로 주어지는 상황에 마주했습니다. 나머지 8자리는 실제 0~9 숫자가 주어집니다. 당신의 임무는 두 개의 '?'를 0부터 9까지 모든 경우로 치환하여, 그 중 ISBN-10 규칙을 만족하는 숫자 조합(ISBN-10)이 몇 개인지 찾아내는 것입니다.

ISBN-10의 유효성 확인은 다음의 절차를 따릅니다:

  1. 첫 번째 자릿수에는 10을, 두 번째에는 9를... 마지막(열 번째) 숫자에는 1을 각각 곱하여 모두 더합니다.
  2. 이 합이 11로 나누어떨어져야만 올바른 ISBN-10입니다.

입력으로 8개의 숫자(0~9)와 2개의 '?'로만 이루어진 길이 10의 문자열 isbn이 주어지며 ISBN-10 규칙을 만족하는 서로 다른 조합의 개수를 반환하는 solution 함수를 작성하시오.


제한 사항

  • isbn 문자열의 길이는 항상 10입니다.
  • isbn에는 반드시 정확히 2개의 '?'와 8개의 0~9 사이의 숫자만 등장합니다.

예시 테스트케이스 설명

테스트케이스 번호 isbn return
1 123??45678 9
2 1357?13?79 9
3 1111??1111 10

1번 테스트케이스 설명

  • "123??4567"에서 두 개의 '?'를 각각 0~9로 자유롭게 대체할 때, ISBN-10 규칙에 따라 유효한 조합이 9개 존재합니다.
1230045678, 1231845678, 1232545678,
1233245678, 1235745678, 1236445678,
1237145678, 1238945678, 1239645678

2번 테스트케이스 설명

  • "1357?13?79"에서 두 개의 '?'를 각각 0~9로 자유롭게 대체할 때, ISBN-10 규칙에 따라 유효한 조합이 9개 존재합니다.
1357013779, 1357113579, 1357213379,
1357313179, 1357513879, 1357613679,
1357713479, 1357813279, 1357913079

3번 테스트케이스 설명

  • "1111??1111"에서 두 개의 '?'를 각각 0~9로 자유롭게 대체할 때, ISBN-10 규칙에 따라 유효한 조합이 10개 존재합니다.
1111001111, 1111111111, 1111221111, 
1111331111, 1111441111, 1111551111, 
1111661111, 1111771111, 1111881111, 
1111991111