figlet
배너 등에서 사용하기 위해 일반 텍스트를 아스키 아트 표현으로 변환하는 유틸리티입니다. 예를 들면 다음과 같습니다.
$ figlet "CODE GOLF"
____ ___ ____ _____ ____ ___ _ _____
/ ___/ _ \| _ \| ____| / ___|/ _ \| | | ___|
| | | | | | | | | _| | | _| | | | | | |_
| |__| |_| | |_| | |___ | |_| | |_| | |___| _|
\____\___/|____/|_____| \____|\___/|_____|_|
$
아스키 아트 출력을 가져 와서 figlet
원래의 일반 텍스트로 되 돌리는 프로그램이나 함수를 작성하십시오 .
설치하는 것이 도움이 될 수 있습니다 figlet
. sudo apt-get install figlet
Ubuntu 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 GOLF 및 AZ 는 통과 하지만 STAR WARS는 로 읽지 않습니다 SAR WARS
. 나는 포기하지만 어쩌면 누군가 영감을 얻었을 것입니다.