Lun
면접 대비시간 제한1초메모리 제한512 MB
카드 번호 문자열에서 한 자리가 'x'로 가려져 있을 때, 룬 검사를 통과하게 만드는 가장 작은 한 자리 숫자를 찾는다.
문제
어머니 Tihana는 온라인 상점에서 딸 Leda에게 줄 봉제인형을 사려고 했다. 결제 과정에서 시스템은 신용 카드 번호를 입력하라고 요구했다. 그러나 Tihana가 그 번호의 숫자 하나를 잘못 적어서 결제가 실패했다. 인터넷 검색 결과, 이런 시스템은 Luhn 알고리즘으로 잘못된 번호를 알아낸다는 사실이 밝혀졌다.
이 알고리즘은 번호의 마지막 자리에 있는 검증 숫자로 번호의 정확성을 확인한다. 번호의 유효성을 판정하는 단계는 다음과 같다.
- 번호의 오른쪽에서 두 번째 자리(십의 자리)부터 시작해, 왼쪽으로 한 자리씩 건너뛰며 모든 두 번째 자리의 값을 두 배로 만든다. 이 곱이 9보다 크면 그 곱의 각 자리를 더한다.
- 앞 단계에서 얻은 모든 값을 합한다.
- 이렇게 얻은 합에 9를 곱하고, 그 값을 10으로 나눈 나머지를 구한다.
- 나머지가 번호의 마지막 자리(일의 자리)와 같으면 그 번호는 유효한 것으로 본다.
예를 들어 계좌 번호 79927398713은 유효하다. 나머지 자리들로부터 오른쪽 끝자리 3을 위에서 설명한 방식으로 얻을 수 있기 때문이다.
숫자로만 이루어지고 기호 "x"가 정확히 하나 들어 있는 N자리 문자열로 카드 번호를 입력받아, 계좌 번호가 유효해지도록 기호 "x"를 바꿔 넣을 수 있는 가장 작은 한 자리 숫자를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(1 ≤ N ≤ 100)이 주어진다. 이는 문제에서 주어진 문자열의 길이다. 둘째 줄에 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"와 기호 "x" 하나로만 이루어진 길이 N의 문자열이 주어진다.
출력
한 줄에 구하는 한 자리 숫자를 출력한다.