이 도전에 영감을 받아 (제목에 @cairdcoinheringaahing!), 두 가지 인쇄 가능한 ASCII 문자열을 가져 와서 다음 규칙에 따라 요소별로 곱하는 것입니다.
어떻게 작동합니까?
두 개의 문자열 (예 : split
및 isbn
)이 주어지면 먼저 길이가 같은 긴 문자열을 자른 다음 ASCII 코드 를 결정하십시오 .
split -> spli -> [115, 112, 108, 105]
isbn -> isbn -> [105, 115, 98, 110]
다음 단계는 각 코드 [0..94]
를 빼서 범위 에 매핑하는 것입니다 32
.
[115, 112, 108, 105] -> [83, 80, 76, 73]
[105, 115, 98, 110] -> [73, 83, 66, 78]
이제 요소 단위의 모듈로를 곱하여 95
인쇄 가능한 범위를 유지합니다.
[83, 80, 76, 73] ⊗ [73, 83, 66, 78] -> [74, 85, 76, 89]
32
범위로 돌아가려면 추가하십시오 [32..126]
.
[74, 85, 76, 89] -> [106, 117, 108, 121]
마지막 단계는 ASCII 문자로 다시 매핑하는 것입니다.
[106, 117, 108, 121] -> "july"
규칙
- 설명 된 단계를 두 문자열로 구현하고 결과 문자열을 인쇄하거나 반환하는 프로그램 / 함수를 작성합니다.
- 입력 형식은 유연합니다. 두 개의 문자열, 튜플 문자열, 문자열 목록 등을 취할 수 있습니다.
- 입력은 하나 또는 두 개의 빈 문자열로 구성 될 수 있습니다.
- 입력 가능한 범위의 문자가 입력됩니다 (
[32..126]
). - 출력은 콘솔에 인쇄되거나 문자열을 반환합니다
- 출력에는 후행 공백이 허용됩니다.
테스트 사례
"isbn", "split" -> "july"
"", "" -> ""
"", "I don't matter" -> ""
" ", "Me neither :(" -> " "
"but I do!", "!!!!!!!!!" -> "but I do!"
'quotes', '""""""' -> 'ck_iKg'
"wood", "hungry" -> "yarn"
"tray", "gzip" -> "jazz"
"industry", "bond" -> "drop"
"public", "toll" -> "fall"
"roll", "dublin" -> "ball"
"GX!", "GX!" -> "!!!"
"4 lll 4", "4 lll 4" -> "4 lll 4"
"M>>M", "M>>M" -> ">MM>"
참고 : 인용문은 가독성을 높이기 위해 '
대신 6 번째 테스트 사례에서 사용 했습니다 "
.
abc, def -> [['a', 'b', 'c'], ['d', 'e', 'f']]