問題
入力した文字列にアンダーラインをするプログラムを作成することにしました。
しかし、テキスト上でアンダーラインを追加することはできないので、
アンダーラインの代わりに文字列の下に、文字列の長さの分だけ ^ を追加することで
アンダーラインを再現することにしました。
入力された文字列に、^ によるアンダーラインを追加して出力してください。
入力される値
入力は以下のフォーマットで与えられます
1 |
s |
sは任意の半角文字列
考え方
入力された文字列の長さは、String型のプロパティである countで求めることができる。
あとは、 ^ を文字列の長さだけ出力すればいい。
解答例
for を使って出力する例。考え方は簡単であるが、
print() で出力される文字列は、標準では改行される。それを抑制するため、
terminator: を使って終端文字を空文字(
"")にする必要がある。
最後の
print()は改行を追加するための出力。
1 2 3 4 5 6 7 |
let s = readLine()! print(s) for _ in 0..<s.count { print("^", terminator: "") } print() |
あるいは、String のイニシャライザを使う方法もある。
わかってしまえばこちらの方が簡単に記述できるが、Paiza のコード補完は使えない点に注意。
1 2 3 |
let s = readLine()! print(s) print(String(repeating: "^", count: s.count)) |