中置式を指定して、すべての定数が同じ型であるかどうかを判別します。
演算子は、これらの2 項演算子のみで構成されます。+-/*
プログラムまたは関数は、有効な式文字列を入力として受け取り、式の定数が同じ場合は真の値を出力し、それ以外の場合は偽の値を出力する必要があります。
式は定数のみで構成され、次のタイプのいずれかを含むことができます。
- 次の形式の文字列
"String"
(常に二重引用符で囲むことができ、エスケープ文字は使用できません。ASCIIテキストを含めることができます) - 次の形式の整数
14
(常に正またはゼロ) - 浮動
7.3f
小数点数の形式(常に正またはゼロ、常に小数部分があります14.0f
) - バイト、形式
0x42
(0-255
、常に2つの16進文字) - 次の形式のブール
true
(true
またはfalse
、大文字と小文字を区別しない)
型強制が存在しない場合、演算の順序は型に影響しないため、式には括弧が含まれません。
演算子のない単独の定数は有効な式です。
空の式は有効な式ではありません。
式文字列には、文字列リテラルの外側に空白が含まれていないと想定できます。
注:あるいは、テストケースに見られるように、定数と演算子の間に常にスペースがあると想定することもできます。この仮定を行う場合は、回答にそのように指定してください
などの無効な式を処理する必要はありません1 +
。
得点
これはコードゴルフなので、最も少ないバイト数が勝ちます!
テストケース
(読みやすくするために空白を追加)
2 + 3
True
"Hello" / "World"
True
true * false
True
"Hello" + 4
False
"Hello" + "4"
True
3 + 2.4f / 8
False
0xff * 0xff
True
0xff + 2
False
6
True
" " + ""
True
"4 + false" + "word"
True
truE+fALSe
)を処理する必要があるというものでした。そうでない場合、ソリューションで2バイトを節約できます。