telgif : 역화 ____ | |

figlet배너 등에서 사용하기 위해 일반 텍스트를 아스키 아트 표현으로 변환하는 유틸리티입니다. 예를 들면 다음과 같습니다.

$ figlet "CODE GOLF"
  ____ ___  ____  _____    ____  ___  _     _____
 / ___/ _ \|  _ \| ____|  / ___|/ _ \| |   |  ___|
| |  | | | | | | |  _|   | |  _| | | | |   | |_
| |__| |_| | |_| | |___  | |_| | |_| | |___|  _|
 \____\___/|____/|_____|  \____|\___/|_____|_|

$

아스키 아트 출력을 가져 와서 figlet원래의 일반 텍스트로 되 돌리는 프로그램이나 함수를 작성하십시오 .

설치하는 것이 도움이 될 수 있습니다 figlet. sudo apt-get install figletUbuntu 14.04에서 얻을 수있는 버전 2.2.5가 있습니다 . 이 그림에는 실제로 몇 가지 “글꼴”이 있습니다. 이 맥락에서 우리는 기본 standard글꼴을 다룰 것입니다 .

입력 텍스트는 80자를 넘지 않으며 대문자와 공백 만 포함 된 일반 텍스트에서 생성됩니다.

프로그램은 figlet어떤 식 으로든 소스 코드를 호출 할 수 없습니다 .

입력:

    _    ____   ____ ____  _____ _____ ____ _   _ ___
   / \  | __ ) / ___|  _ \| ____|  ___/ ___| | | |_ _|
  / _ \ |  _ \| |   | | | |  _| | |_ | |  _| |_| || |
 / ___ \| |_) | |___| |_| | |___|  _|| |_| |  _  || |
/_/   \_\____/ \____|____/|_____|_|   \____|_| |_|___|

     _ _  ___     __  __ _   _  ___  ____   ___  ____
    | | |/ / |   |  \/  | \ | |/ _ \|  _ \ / _ \|  _ \
 _  | | ' /| |   | |\/| |  \| | | | | |_) | | | | |_) |
| |_| | . \| |___| |  | | |\  | |_| |  __/| |_| |  _ <
 \___/|_|\_\_____|_|  |_|_| \_|\___/|_|    \__\_\_| \_\

 ____ _____ _   ___     ____        ____  ____   _______
/ ___|_   _| | | \ \   / /\ \      / /\ \/ /\ \ / /__  /
\___ \ | | | | | |\ \ / /  \ \ /\ / /  \  /  \ V /  / /
 ___) || | | |_| | \ V /    \ V  V /   /  \   | |  / /_
|____/ |_|  \___/   \_/      \_/\_/   /_/\_\  |_| /____|

산출:

ABCDEFGHI
JKLMNOPQR
STUVWXYZ

입력:

 ____ _____  _    ____   __        ___    ____  ____
/ ___|_   _|/ \  |  _ \  \ \      / / \  |  _ \/ ___|
\___ \ | | / _ \ | |_) |  \ \ /\ / / _ \ | |_) \___ \
 ___) || |/ ___ \|  _ <    \ V  V / ___ \|  _ < ___) |
|____/ |_/_/   \_\_| \_\    \_/\_/_/   \_\_| \_\____/

산출:

STAR WARS

이 질문의 이전 편집은 대문자와 소문자 및 숫자를 포함하는 입력을 허용했습니다. 이로 인해 특정 인접 문자 조합에 여러 가지 모호성이 생겼습니다. 대회가 실제로 가능하도록 그러한 충돌이없는 캐릭터 세트를 엄격하게 찾아야한다는 것이 분명해졌습니다. 처음에는이 셸 하나의 라이너로 모든 소문자와 숫자를 시도했습니다.

for t in {0..9}{a..z} {a..z}{a..z} {a..z}{0..9} {0..9}{0..9} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'

이로 인해 { j1, jl} 및 { i1, il}가 모호한 쌍으로 나타납니다. 따라서 @AlexA에서 제안한대로 모든 대문자를 사용하면 모호한 쌍이 없습니다.

for t in {A-Z} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'



답변

CJam, 147 바이트, 약간 손상됨

qN/6/{z{:i:+165%91%' +}%"e 3 VG rr A>Q V) rP r4 />/ F> [> C >> 9$ j8 fQrQ rG rN rD VV $>$ ;$ 859 98 ff = BB"S/eeWf%$W%{~@@/\a*}/{`''#},'@f+'@/S*N}%

CODE GOLFAZ 는 통과 하지만 STAR WARS는 로 읽지 않습니다 SAR WARS. 나는 포기하지만 어쩌면 누군가 영감을 얻었을 것입니다.


답변