Menu
CoddyTech

単語分析

CoddyのGDScriptジャーニー「ロジックとフロー」セクションの一部。レッスン 77/78。

challenge icon

チャレンジ

難しい

_ready()の上に関数analyze_text(text)を書きます。この関数はテキストの単語を分析し、辞書を返します。与えられた_ready()は1行のテキストを読み込み、あなたの関数を呼び出して結果を出力します。

まず単語を準備します。

  • 単語では大文字と小文字を区別しません。Helloとhelloは同じ単語なので、小文字にして処理します。
  • テキストから次の文字を取り除きます: . , ! ? : ; " ( )
  • 単語はスペースで区切られ、空のテキストには単語がありません。

次の3つのキーをこの順序で持つ辞書を返します。

  • "unique_count": 異なる単語の数
  • "repeated_words": 2回以上出現する単語の配列
  • "palindromes": 逆から読んでも同じになる異なる単語の配列。たとえばlevelやaです。

各単語は配列に1回だけ現れ、両方の配列はアルファベット順に並べます。次のテキストの場合:

Madam saw a racecar. Dad said hello hello to mom.

出力は次のとおりです。

{ "unique_count": 9, "repeated_words": ["hello"], "palindromes": ["a", "dad", "madam", "mom", "racecar"] }

自分で試してみよう

extends Node

func analyze_text(text: String):
	# ここにコードを書いてください
	pass


func _ready():
	var text := OS.read_string_from_stdin()
	print(analyze_text(text))

ロジックとフローのすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ