日別アーカイブ: 2022年9月25日

paizaLvアップ問題と解答(標準入力13)Ruby

※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。

詳しくはコチラ

なるべくわかりやすい解説を付けました。

問題3 1 行目で与えられる N 個の文字列の入力 (paizaランク D 相当)

1 行目で、整数 N と、続けて N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N と N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。

N s_1 ... s_N

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
s_1, … , s_N を改行区切りで出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・1 ≦ N ≦ 100
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5 paiza 813 paiza813 Hello World!
出力例1
paiza
813
paiza813
Hello
World!

解答 配列として受け取り[“5”, “paiza”, “813”, “paiza813”, “Hello”, “World!”]

.shiftで配列の最初を取り出す

出力する→[ “paiza”, “813”, “paiza813”, “Hello”, “World!”]

# 1行目の半角スペースで刻みの入力値(数値)を変数に代入する 
strings = gets.split
# 配列の最初の5を取り出す(破壊的に) 
strings.shift
# 出力する
puts strings

問題4 2 行目で与えられる N 個の文字列の入力 (large) (paizaランク D 相当)

1 行目に整数 N が与えられます。
2 行目に、N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N が、2 行目に文字列 s_1, … , s_N が半角スペース区切りで与えられます。

N
s_1 ... s_N

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
s_1, … , s_N を改行区切りで出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・1 ≦ N ≦ 10,000
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5
813 paiza pa13 Hello World!
出力例1
813
paiza
pa13
Hello
World!

解答

# 1行目の入力値(数値)を変数に代入する 
n = gets.to_i
# 半角スペースで刻みの入力受け取り出力する 
puts gets.split

FINAL問題【N個の文字列の入力】1 行目で与えられる N 個の文字列の入力 (large) (paizaランク D 相当)

1 行目に、整数 N と、続けて N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。

入力される値
以下の形式で標準入力によって与えられます。
1 行目に整数 N と N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。

N s_1 ... s_N

入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
s_1, … , s_N を改行区切りで出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

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

・1 ≦ N ≦ 10,000
・s_i (1 ≦ i ≦ N) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列
入力例1
5 813 paiza 8iza Hello Paiza!
出力例1
813
paiza
8iza
Hello
Paiza!

解答 問題3と同じ

# 1行目の半角スペースで刻みの入力値(数値)を変数に代入する 
strings = gets.split 
# 配列の最初の5を取り出す(破壊的に) 
strings.shift 
# 出力する 
puts strings