119. tokenizerを実装する
シェアしよう
少し工夫が必要 - accepted / - tried
Given a character sequence and a defined document unit, tokenization is the task of chopping it up into pieces, called tokens , perhaps at the same time throwing away certain characters, such as punctuation. (ref)
文字列処理の問題では、多くの場合、特定なルールで文字列を解析することが求められる。
例えば、以下の計算式の結果を返すよう:
1 * (20 - 300 )
計算が始まる前、まずスペースを無視し、各「キーワード(token)」を取得する必要がある。以下のように:
'1','*', '(', '20', '-', '300', ')'
これから計算が実装しやすくなる。
四則計算のtokenize()を実装してください
const tokens = tokenize(' 1 * (20 - 300 ) ')while (true) { let token = tokens.next() if (token.done) { break } console.log(token.value)}
or you can use for ... of
for (let token of tokens) { console.log(token) }
tokenizerの実装が難しくはないから、面接を受けるときに、面接官に交渉し、tokenizerの実装は最後にするのはおすすめです。大事な時間を大事なロジックに使いましょう。
入力
- 文字列は整数(>=0)、
+
、-
、*
、/
、(
、)
とスペースしかない。スペースは無視するべき。 2.実装した関数はGeneratorを返してください。