文字列も順番に読める
文字列は文字が並んだ値です。リストと同じように添字や for を使えますが、その場で1文字を変更することはできません。
言語:Python / 計算量:走査 O(N)、切り出し O(切り出し長)
前提:配列と添字を混同しない
考え方
- len(s) で文字数を数えます。
- s[l:r] は l 番目から r の直前まで。
- "".join(文字のリスト) で文字列に戻します。
具体例
s="atcoder" なら s[0:2] は "at"。s[::-1] は逆順です。
実装
s = input()
count = 0
for c in s:
if c == "a":
count += 1
print(count)注意する条件
文字列の繰り返し連結は遅くなることがあります。多数の断片はリストに追加して join します。
確認問題
len("atcoder") は?
解答と理由
7
a,t,c,o,d,e,r の7文字です。
実装課題
英小文字の文字列 S (1 ≤ |S| ≤ 100) を読み、回文なら Yes、それ以外は No。
入力:
level
出力:
Yes参考実装
s = input()
print("Yes" if s == s[::-1] else "No")