このページについて
このページは、paiza ラーニング内に開設されているコンテンツ「レベルアップ問題集」で取り扱われているプログラミング課題について、独自の見解を述べたものです。
見解については、paizaラーニングの規約に基づき、許可されている範囲でのみ公開していますが、その内容については paiza とは一切関係なく、また paiza の立場を反映したものではありませんのでご注意ください。
挑戦する課題
レベルアップ問題集の戦セットから「【競技6】匿名希望さん (paizaランク D 相当)」を取り上げます。
以下は、問題公開 Web ページからの引用です。
問題
この問題は、弊社営業社員が競技プログラミングに挑戦したものです。
英語の名前が与えられたとき、その名前をイニシャルに変換するシステムを作ることにしました。
「ファーストネーム ラストネーム」で与えられる半角アルファベットの氏名をイニシャルで表してください。
入力される値
入力は以下のフォーマットで与えられます。
1 |
s1 s2 |
- s1, s2 は半角アルファベットで構成された文字列
期待する出力
s1, s2のイニシャルの後に.(ドット)をつけて出力してください。
考え方
文字列のイニシャルということは、与えられる2つの文字列の先頭文字を出力することになる。
Swift であれば、 String から先頭の n 文字を切り取る prefix(_:) を使う。 first は文字列には使えないので注意。
最後に2つの文字列を joined() で連結する。
解答例
1 |
print(readLine()!.split(separator: " ").map { $0.prefix(1) + "." }.joined()) |