문자열과 배열을 입력으로 받으면 일반적인 모바일 키패드에서 입력 할 때 입력 문자열이 인쇄 할 텍스트를 출력해야합니다. 모바일 키패드에서 버튼을 n 번 누르면 문자가 입력됩니다. 여기서 n은 버튼의 레이블에서 문자가있는 위치입니다. 따라서 22
출력해야합니다 b
.
규칙
도우미 배열에는 문자표 (
[" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
) 가 포함됩니다 . 이것은 약간의 바이트를 절약하기 위해 제공됩니다.#
기호는 사건을 전환됩니다. 초기 사례는 더 낮습니다. 그래서2#3
출력해야한다aD
.은
0
공간을 추가합니다. 따라서202
출력해야합니다a a
.입력 문자열에 공백 ( )이있어 동일한 숫자 버튼에있는 새 문자를 시작할 수 있습니다. 예를 입력
aa
하려면 입력 문자열이됩니다2 2
.입력 문자열이 항상 유효한 키패드 코드임을 보증합니다.
입력
언어가 지원하는 방식으로 입력 할 수 있습니다.
산출
원하는 방식으로 결과를 출력 할 수 있습니다. 기능 return
도 허용됩니다.
테스트 사례
#4440555#666888330#999#66688111 -> "I Love You!"
#6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!"
#44#27 79990#66#3390#999#332777111 -> "Happy New Year!"
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다!
5
밀접하게 관련
—
Mego
나는에 총액 생각하는
—
Maltysen
year
마지막 테스트 케이스의 잘못입니다.
루핑을 고려해야합니까? 예를 들어, 2222-> 잘못된 또는 2222-> b?
—
Kuilin Li
@ Maltysen 네, 맞습니다. 질문을 편집했습니다. 지적 해 주셔서 감사합니다. :)
—
Arjun
관심
—
Neil
##
이 없으면 이중 공간을 처리해야합니까?