Pythonで文字列から「y」と「xz」を1回の処理でまとめて削除する方法
Pythonで文字列から特定の部分文字列を1回の処理で削除する
文字列 s が与えられたとき、その中に含まれるすべての「y」と「xz」を1回の反復処理で削除することを考えます。
たとえば、入力が s = "xyxxzyyxxzx" の場合、出力は xxxx となります。
解決のアプローチ
この問題は、以下の2つのステップで解決できます。
- まず、「xz」を削除した文字列を作成する
- 次に、その結果から「y」をさらに削除して返す
それでは、実際の実装を見ていきましょう。
実装例
class Solution:
def solve(self, s):
return s.replace("xz", "").replace("y", "")
ob = Solution()
print(ob.solve("xyxxzyyxxzx"))
入力
"xyxxzyyxxzx"
出力
xxxx
コードの解説
このソリューションでは、Pythonの str.replace() メソッドを活用しています。replace() は文字列内のすべての一致箇所を指定した文字列へ置き換えるメソッドのため、第2引数に空文字列 "" を渡すことで、対象となる部分文字列を一括して削除できます。
さらに、メソッドチェーン(.replace(...).replace(...))を使用することで、複数の削除処理を1行で簡潔かつ読みやすく記述できます。処理は文字列長に対して線形時間 O(n) で動作するため、大きな文字列でも効率的に扱えます。
-
Pythonの辞書(dict)型とは?キーと値でデータを扱う基本を解説
Pythonの辞書(dict)は、いわゆるハッシュテーブルの一種です。Perlなどの言語で見られる連想配列やハッシュと同じように動作し、キー(key)と値(value)のペアでデータを管理します。キーにはほぼすべてのPythonの型を使用できますが、一般的には数値や文字列が使われます。一方、値には任意のPythonオブジェクト(文字列、数値、リスト、タプルなど)を自由に格納できます。辞書の基本的な使い方辞書は波括弧({ })で囲んで定義し、各要素へのアクセスや代入には角括弧([ ])を使います。以下に具体的な例を示します。#!/usr/bin/python3 # 空の辞書を作成 d = {}
-
【Python】配列で表された大きな数に1を加算する方法(Plus One問題)
整数の配列 A があるとします。A は n 個の非負の整数を要素として持ち、配列全体で1つの大きな数を表しています。例えば、A = [5, 3, 2, 4] が与えられた場合、これは数値 5324 を意味します。この配列 A を受け取り、その数に 1 を加算した結果を、同じく配列形式で返す必要があります。つまり、加算後の A は [5, 3, 2, 5] となるわけです。 解決のための手順 この問題は、以下の手順で解くことができます。 配列の各要素を文字列に変換しながら連結し、1つの文字列を作成する その文字列を整数型に変換し、1 を加算する 加算結果を桁ごとに分割し、新しい配列として組み立