この記事では
プログラミング学習サービスpaizaラーニングの
スキルチェックレベルアップ問題集をわかりやすく解説します!
プログラミング言語はpythonです。
今回はDランク相当の以下の問題について解説します。
他のレベルアップ問題集の解答と解説も紹介しているのでぜひご参考ください!
またpaizaの各ランクの攻略法は
こちらで詳しく紹介しているので、ぜひご参考ください!
【競技6】匿名希望さん (paizaランク D 相当)の解答と解説
今回の問題は「【競技6】匿名希望さん (paizaランク D 相当)」です。
問題はこちらからご確認ください。
この問題を解くのに必要な知識は4つです。
- 半角スペース区切りの入力を受け取る
- 文字列の先頭を抜き出す
- 文字列の結合
- 結果を出力
それぞれ詳しく解説します。
半角スペース区切りの入力を受け取る
まずは「半角スペース区切りの入力を受け取る」です。
この問題では「ファストネームとラストネーム」
が半角スペース区切りで入力されるため
input関数とsplit関数を使って、入力を受け取ります。
split関数は文字列を指定した文字で区切り、リストを返す関数です。
(文字列).split((区切り文字))
text = "15:30:00"
# ":"で区切り、["15","30","00"]と代入
splited_text = text.split(":")
split関数を使うと、半角スペース区切りの入力を
リストの要素として代入できます。
# 半角スペースで区切り、リストに代入
name_list = input().split(" ")
またsplit関数は引数に何も指定しない場合、半角スペースを区切り文字とします。
# 半角スペースで区切る
name_list = input().split()
さらにリストの要素は,
で並べた変数に代入できるので
以下のように書くのが最もシンプルです。
# 半角スペースで区切り各変数に代入
first, last = input().split()
リストについては、こちらをご参考ください!
文字列の先頭を抜き出す
次は「文字列の先頭を抜き出す」です。
入力された名前をイニシャルに変換するには
ファーストネームとラストネームの先頭の文字を
抜き出さなければなりません。
そのため文字列のスライスを使用します。
(文字列)[(抜き出す位置)]
name = "Tanaka"
# nameの先頭の文字を抜き出し、"T"と代入
init = name[0]
文字列のスライスを使用して、ファーストネームとラストネームを
それぞれの先頭の文字に変換します。
# 先頭の文字に変換
first = first[0]
last = last[0]
文字列の結合
次は「文字列の結合」です。
今回の問題ではファストネームとラストネームのイニシャルの後ろに
.
をつけて出力するため、文字列の結合を使用します。
# 先頭の文字に変換
first = first[0]
last = last[0]
# 文字列として結合
name = first + "." + last + "."
出力する時に同時に先頭の文字に変換すると
よりシンプルに書くことが出来ます。
# 文字列として結合し出力
print(first[0] + "." + last[0] + ".")
文字列の結合については、こちらをご参考ください!
結果を出力
最後は「結果を出力」です。
# 結合した名前を出力
print(name)
出力する時に同時に先頭の文字に変換するとよりシンプルに書くことが出来ます。
# 文字列として結合し出力
print(first[0] + "." + last[0] + ".")
【競技6】匿名希望さん (paizaランク D 相当)の解答
全てまとめると「【競技6】匿名希望さん (paizaランク D 相当)」の解答は以下です。
# 半角スペースで区切り各変数に代入
first, last = input().split()
# 文字列として結合し出力
print(first[0] + "." + last[0] + ".")
また最後の出力はformat関数を使って書くことも出来ます。
# 半角スペースで区切り各変数に代入
first, last = input().split()
# 文字列として結合し出力
print("{}.{}.".format(first[0], last[0]))
どちらの方法も頻繁に使用するため、使い方を理解しておきましょう!
まとめ
今回はpaizaのスキルチェックのレベルアップ問題集の中で
- 【競技6】匿名希望さん (paizaランク D 相当)
の解答と解説を紹介しました。
Dランクの問題のため、非常に簡単ではありますが
高ランクの問題で必要になる知識が豊富に含まれています。
しっかりと理解しランクアップを目指していきましょう!
また他の問題についての解説も、ぜひご参考ください!