1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 Erlang(Beta)編
  5. 複数形への変換 Erlang(Beta)編

Bランク・スキルチェック過去問題セットのサムネイル
複数形への変換 Erlang(Beta)編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

これは、B ランクの問題として出題されていた問題です。試しに解いてみましょう。
現時点では自力で正解することができない場合は、この問題を飛ばして次の問題に進んでください。
この問題の後に続く 5 つの問題に順番に取り組むことで、
この「複数形への変換」の問題を解くために必要な知識や考えた方を身につけることができます。
B ランク獲得に向けた学習にお役立てください。


あなたは英語の文法チェック・修正システムの作成を担当しています。
このシステムを実現するには、英単語を複数形に変換する機能が必要です。

単語の複数形への変換は、次のルールに従い行われます。(実際の英文法と異なる場合があることに注意してください。)

・ 末尾が s, sh, ch, o, x のいずれかである英単語の末尾に es を付ける
・ 末尾が f, fe のいずれかである英単語の末尾の f, fe を除き、末尾に ves を付ける
・ 末尾の1文字が y で、末尾から2文字目が a, i, u, e, o のいずれでもない英単語の末尾の y を除き、末尾に ies を付ける
・ 上のいずれの条件にも当てはまらない英単語の末尾には s を付ける

入力された英単語を複数形に変換するプログラムを作成してください。

入力される値

入力は以下のフォーマットで与えられます。

N
a_1
a_2
...
a_N

・ 1 行目には、変換しなければならない英単語の数 N が与えられます。
・ 続く N 行には、複数形に変換しなければならない英単語 a_i が与えられます。
・ 入力は合計で N+1 行からなり、入力の末尾に改行が1つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

期待する出力は N 行からなります。
i 行目には英単語 a_i を複数形に変換した答えを出力してください。

最後は改行し、各行では余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 1 ≦ N ≦ 10
・ a_i は a~z のアルファベット小文字の並べた文字列
・ 2 ≦ (a_i の長さ) ≦ 20
・ 架空の英単語が与えられることがあります。

入力例1

3
dog
cat
pig

出力例1

dogs
cats
pigs

入力例2

7
box
photo
axis
dish
church
leaf
knife

出力例2

boxes
photoes
axises
dishes
churches
leaves
knives

入力例3

2
study
play

出力例3

studies
plays

入力例4

5
fish
foot
piano
phenomena
aaaaa

出力例4

fishes
foots
pianoes
phenomenas
aaaaas

問題一覧へ戻る

ページの先頭へ戻る