문자열을 "함수 중첩"하려면 다음을 수행해야합니다.
첫 번째 문자를 함수로, 다음 문자를 해당 함수의 인수로 취급하십시오. 예를 들어 입력 문자열이
Hello
인 경우 첫 번째 단계는 다음과 같습니다.H(ello)
그런 다음 모든 하위 문자열에 대해 동일한 단계를 반복하십시오. 그래서 우리는 얻는다 :
H(ello) H(e(llo)) H(e(l(lo))) H(e(l(l(o))))
당신의 임무는 문자열을 "함수 중첩"하는 프로그램이나 함수를 작성하는 것입니다. 예를 들어 입력 문자열이 인 Hello world!
경우 다음을 출력해야합니다.
H(e(l(l(o( (w(o(r(l(d(!)))))))))))
입력은 인쇄 가능한 ASCII 만 포함 하며 입력과 출력을 합리적인 형식으로 가져올 수 있습니다. 예를 들어 STDIN / STDOUT, 함수 인수 및 반환 값, 파일 읽기 및 쓰기 등
간단하게하기 위해 입력에 괄호가없고 비어 있지 않은 것으로 가정 할 수도 있습니다.
Input:
Nest a string
Output:
N(e(s(t( (a( (s(t(r(i(n(g))))))))))))
Input:
foobar
Output:
f(o(o(b(a(r)))))
Input:
1234567890
Output:
1(2(3(4(5(6(7(8(9(0)))))))))
Input:
code-golf
Output:
c(o(d(e(-(g(o(l(f))))))))
Input:
a
Output:
a
Input:
42
Output:
4(2)
평소와 같이 모든 기본 규칙과 허점이 적용되며 가장 짧은 답은 바이트로 표시됩니다!
You may take the input and the output in any reasonable format.
문자 목록은 나에게 완벽하게 합당한 것 같습니다.