트랙
/
ABAP
ABAP
/
연습 문제
/
ISBN 검증기
ISBN 검증기

ISBN 검증기

쉬움

지침

ISBN-10 검증 절차는 도서 식별 번호를 검증하는 데 사용해요. 이 번호들은 보통 하이픈을 포함하고 있으며 3-598-21508-8처럼 생겼어요.

ISBN

ISBN-10 형식은 숫자 9개(0부터 9까지)에 검사 문자 하나(숫자이거나 X만 가능)를 더한 형태예요. 검사 문자가 X인 경우 이는 값 '10'을 나타내요. 하이픈이 있든 없든 표기할 수 있고, 다음 공식으로 유효성을 검사할 수 있어요:

(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0

결과가 0이면 유효한 ISBN-10이고, 그렇지 않으면 유효하지 않아요.

예시

ISBN-10 3-598-21508-8을 예로 들어봐요. 이 번호를 공식에 대입하면 다음과 같아요:

(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0

결과가 0이므로 이 ISBN은 유효하다는 것을 알 수 있어요.

과제

문자열이 주어지면 프로그램은 그 문자열이 유효한 ISBN-10인지 확인해야 해요. 이를 구현하려면 ISBN의 검사 문자를 계산하기 전에 문자열을 어떻게 전처리하고 파싱할지 고민해야 해요.

프로그램은 구분용 하이픈이 있는 경우와 없는 경우 모두 ISBN-10을 검증할 수 있어야 해요.

주의 사항

어떤 언어에서는 문자열을 숫자로 변환하는 것이 까다로울 수 있어요. 게다가 ISBN-10의 검사 문자는 'X'('10'을 나타냄)일 수 있으므로 더욱 까다로워요. 예를 들어 3-598-21507-X는 유효한 ISBN-10이에요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
ABAP Exercism

ISBN 검증기 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 ABAP 트랙을 연습 문제 54개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.