소개
다음 예제를 고려하십시오.
CODE
+ GOLF
——————
GREAT
이것은 각 문자가 10 진수를 나타내고 단어가 자연수를 나타내는 방정식입니다 (유사한 문자는 유사한 숫자를 나타내고 다른 문자는 다른 숫자를 나타냄). 작업은 방정식이 정확하도록 각 문자를 숫자 값과 일치시키는 것입니다. 위 방정식에 대한 한 가지 해결책은 다음과 같습니다.
9265
+ 1278
——————
10543
당신의 작업
당신의 임무는 위와 같은 방정식을 해결할 수있는 프로그램이나 함수를 작성하는 것입니다.
입력
입력은 다음 형식의 문자열입니다.
[A-Z]+\+[A-Z]+=[A-Z]+
예:
CODE+GOLF=GREAT
AA+BB=CC
공백은 생략하고 대문자 A와 Z 사이의 문자 만 사용합니다 (특수 문자 또는 작은 문자는 사용하지 않음).
이 문자열은 표준 입력, 파일 또는 함수 매개 변수에서 읽을 수 있습니다.
산출
출력 형식에는 다음 두 가지 옵션이 있습니다.
- 숫자가 치환 된 원래의 방정식
- 문자와 그 값의 목록
여러 솔루션이있는 경우 솔루션 중 하나만 반환해야합니다. 솔루션이 없으면 프로그램은 빈 문자열 또는 널을 리턴해야합니다. 출력은 문자열로 리턴 될 수 있으며 표준 출력 또는 파일에 기록 될 수 있습니다.
예:
9265+1278=10543
A=1 B=2 C=3
(구분 기호를 사용할 수 있습니다)
규칙
- 일을 더 쉽게하기 위해 숫자는 0으로 시작하는 것이 허용되지만 0을 유효하지 않은 숫자로 처리하면 숫자는 유효하지 않습니다.
- 유사한 문자는 유사한 숫자를 나타내며 다른 문자는 다른 숫자를 나타냅니다.
- 모든 언어와 선택한 언어의 표준 라이브러리를 사용할 수 있습니다 (외부 라이브러리 없음)
- 인터넷의 어떤 리소스에도 연결할 수 없습니다 (어쨌든 왜 하시겠습니까?)
- 이것은 코드 골프 작업이며 가장 짧은 코드가 승리합니다. 연속적인 공백 문자는 단일 문자로 계산됩니다. (따라서 공백으로 작성된 모든 프로그램이 자동으로 승리합니다)
179자를 사용하는 다소 해킹 솔루션이 있습니다. 분명하지 않은 내용이 있으면 의견을 남겨주십시오.
If there are no solutions, the program should return an empty string or null.
무한 루프는 여전히 아무것도 출력하지 않습니다 ...