問題 #2 - 回答 #86

Base32

RFC 4648 で定義された Base32 エンコーディングを実装してください。 標準入力から与えられる各行に対し、Base32 エンコードをおこなった文字列を標準出力へ改行区切りで出力してください。 なお、アルファベットの出力には大文字を用いてください。

回答 #86

m3m0r7 が 2024-03-08 14:58:07 に投稿

コード

254 byte

for($m='array_map',$j='join',$d='str_pad';$s=fgets(STDIN);)echo$j($m(fn($b)=>[...range('A','Z'),2,3,4,5,6,7][bindec($d($b,5,0))],str_split($a=$j($m(fn($v)=>$d(decbin($v),8,0,0),unpack('C*',rtrim($s)))),5))),substr('======',0,6-(strlen($a)%40/8-1)*2),"
";

実行結果

ステータス: 失敗

テストケース 1

ステータス: 不正解

標準出力

NBXWOZI
OBUXS3Y
MZ2WOYI

標準エラー出力


テストケース 2

ステータス: 不正解

標準出力

4OAYNY4BRPRYFCXDQGX6HAMS======
4OA2VY4BRTRYFCPDQGDOHAMX======
4OBI7Y4BTHRYFCPDQKBOHANB======

標準エラー出力


テストケース 3

ステータス: 不正解

標準出力

GEZDGNBVGY3Q====
GEZA====
GEZDGNBVGY3TQOJQ======
GEZDGNBVGY3TQ==
GEZDG==
GEZDGNBV======
GEZDGNBVGY3TQOI
GEZDGNA
GE======
GEZDGNBVGY======

標準エラー出力


テストケース 4

ステータス: 不正解

標準出力

MEQGEIDD======
EAQOHAMC4OAYIIHDQGDCBY4BRAQOHAMK======

標準エラー出力