개념
숫자를 기억하는 것은 어려울 수 있습니다. 단어를 기억하는 것이 더 쉬울 수 있습니다. 큰 숫자를 암기하기 위해 나는 leetspeak와 같은 방식으로 발음하는 방법을 만들었습니다.
규칙
각 숫자는 먼저 해당 문자로 대체됩니다.
0 => O
1 => I
2 => R
3 => E
4 => A
5 => S
6 => G
7 => T
8 => B
9 => P
교체 후 발음 개선을 위해 두 가지 추가 작업이 수행됩니다.
두 자음 사이에 a
U가 추가됩니다.두 모음 사이에 a
N가 추가됩니다.
예제 / 테스트 사례
512431 => SIRANENI
834677081 => BENAGUTUTOBI
3141592 => ENINANISUPUR
1234567890 => IRENASUGUTUBUPO
6164817 => GIGABIT
불가능한 것
- 문자와 숫자가 같은 단어로 혼합
- 두 개의 연속 자음 또는 두 개의 연속 모음
- 위 목록에없는 편지
- 다른 캐릭터
규칙
이 코드 골프 의 목표는 이 개념에 대한 양방향 번역기를 만드는 것입니다.
- 프로그램은 문자 대 숫자 또는 숫자 대 문자 변환인지 먼저 이해해야합니다.
- 항목이 올바르게 형성되었는지 확인해야합니다.
- 모든 것이 정확하면 번역을 표시하십시오.
- 그렇지 않으면 오류 메시지를 표시하거나 아무것도 표시하지 않거나 잘못된 값을 반환하거나 프로그램을 중단시킵니다.
세부
- 입력 번호 / 문자열은 원하는 형식 (stdin, argument, ...)으로 입력 할 수 있습니다
- 이것은 code-golf 이므로 가장 짧은 답변이 이깁니다.
- 표준 허점은 금지되어 있습니다.
AB23. AEI; BB; Z; ACE; giga; !@#$; -123; 또한 유효성 검사 규칙에 따라를 변환 할 수 6164735732 => GIGATESTER있지만 (두 개의 연속 자음 규칙)으로 GIGATESTER인해 잘못된 값이 발생 ST합니다. 현재 챌린지가 설정된 방식에 따라 챌린지의 주요 부분은 변환이 아닌 유효성 검사입니다. 나는 괜찮지 만, 그 경우 유효성 검사를 조금 더 잘 정의해야합니다.
GIGATESTER될GIGATESUTER?