뇌 플랙 , 410 206 204 178 + 3 = 181 바이트
다음은 -a
플래그 를 사용하는 178 바이트 버전입니다 .
DJMcMayhem에 의해 26 바이트 골프 오프
온라인으로 사용해보십시오
([])(<(()()(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>){({}[()]<({}<>)<>>)}{}([]<>[[]]<>){(<{}{}>)}{}({{}<>[{}]<>}<(())>){{}{}((<>))}{}
다음은 -a
플래그를 사용하지 않는 더 긴 410 바이트 버전입니다 .
온라인으로 사용해보십시오
{(({}))(<((()()()()()){}<>)>)<>{({}[()])<>(({}()[({})])){{}(<({}({}))>)}{}<>}{}<>({}<{}>)<>(<((()()()()()){}(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>)}{}<>([])(<(()()(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>){({}[()]<({}<>)<>>)}{}([]<>[[]]<>){{}{}(<>)}{}(([])<>)({<{}>{}<([])>}{}<>[{<{}>{}<([])>}{}]<(())>){{}{}((<>))}{}
설명
더 짧은 해결책에 대한 설명은 다음과 같습니다.
시작하기 위해 숫자는 -a
플래그에 의해 모든 ASCII 값으로 변환됩니다 .
스택 높이 (예 : 자릿수)를 밀고 2로 나눕니다.
([])(<(()()(<>))>)<>{({}[()])<>(({}()[({}<({}())>)])){{}(<({}({}<({}[()])>))>)}{}<>}{}<>{}{}({}<>)
우리가 방금 누른 숫자보다 작은 각 숫자에 대해 숫자를 다른 스택으로 옮깁니다.
{({}[()]<({}<>)<>>)}{}
스택의 높이가 다른 경우 현재 스택에서 맨 위 항목을 제거합니다
([]<>[[]]<>){(<{}{}>)}{}
각 스택의 합계 간의 차이를 원합니다. 따라서 다음 알고리즘을 사용하여 각 스택을 합산합니다.
{{}}
이것은 어떤 숫자도 ASCII 값이 0이 아니라고 가정합니다. 이는 유효한 가정입니다.
우리는 두 스택 모두에서 이것을 실행하고 차이점을 취합니다 ( <(())>
다음 부분에 필요합니다).
({{}}<>[{{}}]<(())>)
이제 합계를 무효화하고 싶습니다. 합계가 0이면 상단에서 튀어 나와서 이전에 누른 것을 표시합니다. 그렇지 않으면 숫자와 1을 모두 제거하고 상단에 0을 배치합니다.
{{}{}((<>))}{}
Ë
대신 사용할 수 없습니까`Q
?