05AB1E 용 ASCII- 골프 소개 (기본 변환 [단순])
05AB1E는 ASCII-Art를 위해 직접 제작 된 것이 아니지만 2 가지 문제를 겪었습니다. 05AB1E의 가장 좋은 점은 간단한 기본 변환을 사용하더라도 바이트 수를 확장하고 절반으로 줄이는 데 사용할 수있는 트릭이 있다는 것입니다. ASCII 과제에서 종종 패턴의 절반 만 그린 다음 뒤집고 연결하는 데 사용할 수있는 회귀 트릭이 있습니다. 4 방향 패턴 인 경우 zip 및 bifurcate와 같은 작업을 수행하여 패턴의 모서리 만 그릴 수 있습니다. 이 간단한 기본 압축 아이디어와 함께 사용할 수있는 많은 데이터 구조 조작 기술이 있습니다.
기본 전환 전술에 대한 빠른 충돌 과정은 다음과 같습니다.
05AB1E에서 ASCII 아트에 사용 된 모든 문자를 열거합니다. 예를 들면 다음과 같습니다.
--===___===--
결과는 다음과 같습니다.
-
=
_
그런 다음 1부터 0, 2로 시작하는 숫자를 할당합니다.
- is 1.
= is 0.
_ is 2.
원래 문자열의 문자를 숫자로 바꿉니다.
1122200022211
가능한 가장 낮은 밑 (3)을 사용하여 십진수로 변환합니다.
879412
( 05AB1E를 사용하여이 작업을 수행하는 방법 )
그런 다음 기본 214로 변환합니다.
Jh]
( 05AB1E를 사용하여이 작업을 수행하는 방법 )
그런 다음 다음 코드로 래핑합니다.
•Jh]•3B…102…-_=‡
온라인으로 사용해보십시오!
또는 중간 단계가 표시된 상태에서 시도하십시오.
최종 설명 :
•Jh]• # Push the compressed ASCII integer.
3B # Convert it to base 3.
…102 # Push the keys to the conversion.
…-_= # Push the values to the conversion.
‡ # Transliterate, replace 0, 1 and 2 with the symbols.
이제이 특정 도전으로 문자열이 너무 짧아 이해가되지 않습니다. 나는 아마 문자열의 절반을 밀고 10 바이트 동안 Palindromize "--===__"û
또는 Adnan이 factorial, smart man을 사용하여 주석에서했던 것처럼 골프를 칠 것입니다 •Jh]•3B5!…-=_‡
. 그는 또한 05AB1E 의 제작자 (들 ) 중 하나입니다 .
더 복잡한 예 :
/codegolf//a/106621/59376
또한 Dennis 'kolmogorov-complexity language : Bubblegum ; 이것을 사용하는 방법을 모른다.