-
Pythonで文字列内の最初に繰り返される単語を見つける方法
文字列が1つ与えられ、その中で最初に繰り返し出現する単語を見つけるのが本記事のテーマです。この問題を実装する際には、Pythonの標準ライブラリである「collections」モジュールを活用します。collectionsが提供するCounter()クラスを使うことで、各単語の出現回数を簡単に集計できます。 アルゴリズム 処理の手順は以下のとおりです。 与えられた文字列をスペースで区切り、単語のリストに分割します。 単語のリストをCounter(辞書形式)に変換し、各単語の出現回数を集計します。 単語のリストを先頭から順に走査し、出現回数が1より多い最初の単語を特定します。 サンプルコード
-
指定した範囲内の未設定ビットを数えるPythonプログラム
正の整数とビット位置の範囲が与えられたとき、その範囲内に含まれる未設定ビット(値が「0」のビット)の個数を数える方法を解説します。 入力 : n = 50, 開始位置 = 2, 終了位置 = 5 出力 : 2 この例では、ビット位置2から5の範囲内に「0」のビットが2つ存在します。実際、50を2進数で表すと 110010 となり、下位から数えて3番目(位置2)と6番目(位置5)に該当する部分に「0」が2つ含まれています。 アルゴリズム bin() 関数を使って、整数 n を2進数の文字列に変換します。 先頭の2文字(プレフィックス 0b)を取り除きます。 文字列を反転させます。これにより
-
【Python】2つ以上のリストの和集合(ユニオン)を求めるプログラム
「和集合(ユニオン)」とは、複数のリストに含まれるすべての要素を集め、1つの新しいリストにまとめる操作のことです。本記事では、Pythonを使って2つ以上のリストの和集合を求める方法を、初心者にもわかりやすく解説します。 List1::[1,2,3] List2::[4,5,6] List3::[1,2,3,4,5,6] アルゴリズム ステップ1:2つのリストを入力として受け取る。 ステップ2:「+」演算子を使ってリストを連結(結合)する。 方法1:「+」演算子でリストを連結する Pythonでは「+」演算子を使うだけで、2つのリストを簡単に1つにまとめられます。以下のコードでは、まず
-
Pythonで2つのリストの共通要素を求めるプログラム(積集合の計算方法)
リストの共通部分(Intersection/積集合)とは、2つのリストに共通して含まれるすべての要素を取り出し、それらを別の3つ目のリストに格納する操作のことです。 List1::[1,2,3] List2::[2,3,6] List3::[2,3] 上記の例では、List1とList2の両方に存在する「2」と「3」が抽出され、List3に格納されています。 アルゴリズム ステップ1:リストを入力する。 ステップ2:まず1つ目のリストの全要素を走査し、2つ目のリストの各要素と照合する。 ステップ3:要素が一致した場合、その値を3つ目のリストに格納する。 サンプルコード # 2つのリス
-
要素の長さに基づいてリストをソートするPythonプログラム
この記事では、ユーザーが入力したリストを、各要素の長さ(文字数)に基づいてソートする方法を解説します。Pythonには標準で用意されている組み込み関数 sorted() を使うことで、シンプルなコードで実現できます。 例 入力::[mona,pp,aaa] それぞれの長さは [4,2,3] したがって、ソート後の並び順は [2,3,4] 出力::[pp,aaa,mona] アルゴリズム ステップ1: リストの要素を入力する。 ステップ2: sorted(A, key=len) 関数を適用する。 サンプルコード # リストをソートする def sortedlist(A): ne
-
Pythonでシーケンス内の2番目に多く繰り返される単語を検索する方法
文字列(単語のシーケンス)が与えられたとき、その中から2番目に多く繰り返される単語を見つけるのが本記事の目的です。Pythonでは Counter(iterator) を使うことで、単語をキー、出現回数を値とする辞書を簡単に作成できます。 アルゴリズム 処理の流れは以下のステップになります。 Step 1: ユーザー定義のリストを作成する。 Step 2: リストを辞書(Counterオブジェクト)に変換する。 Step 3: 辞書の値(出現回数)を取得し、降順にソートする。 Step 4: ソート後の2番目の要素が「2番目に多い出現回数」となる。 Step 5: 辞書全体を再度走査し、値が
-
Pythonのラムダ式(無名関数)を使って累乗を一括表示する方法
この記事では、Pythonの組み込み関数 map() の中で無名関数(ラムダ関数)を使用し、任意の数の累乗をまとめて計算・表示する方法を解説します。Pythonにおける無名関数とは、関数名を持たない関数のことで、lambda キーワードを使って定義します。def文で関数を定義する必要がないため、短い処理をその場で記述したい場合に非常に便利です。 アルゴリズム Step 1: 表示する項数 n を入力する Step 2: 累乗の底となる数値 p を入力する Step 3: 無名関数(ラムダ式)を使って累乗を計算する Step 4: 結果を表示する サンプルコード # 無名関数を使って任意の
-
Pythonでリストの平均値を求める方法
Pythonには、複数の要素の合計を簡単に計算できる組み込み関数 sum() が用意されています。ここでは、この関数を使ってリスト内のすべての数値の合計を求め、その後、合計を要素数で割ることで平均値を計算します。 アルゴリズム ステップ1:「リストのサイズ」を入力する ステップ2:「要素」を入力する ステップ3:sum関数を使用して、すべての数値の合計を計算する ステップ4:平均値を計算する サンプルコード # リストの平均値を求める A=list() n=int(input(Enter the size of the List ::)) print(Enter the number :
-
【Python】リストから最大値・最小値・2番目に大きい値・2番目に小さい値を求める方法
この記事では、Pythonを使ってリスト(配列)の中から最大値、最小値、2番目に大きい値(second largest)、2番目に小さい値(second smallest)を一度に見つけるプログラムを解説します。ソートを行わずに1回のループで処理できるのがポイントです。アルゴリズム全体の流れは以下の3ステップです。ステップ1:リストの要素を入力する ステップ2:各要素を取り出し、リスト内の他の数値と順に比較する ステップ3:最大値・最小値・2番目に大きい値・2番目に小さい値を取得して表示するサンプルコード# リスト内の最大値・最小値・2番目に大きい値・2番目に小さい値を求める def maxm
-
Pythonでリストから重複要素を削除する方法を徹底解説
重複した要素を含むリストが与えられたとき、重複を取り除いた新しいリストを作成するのが本記事のテーマです。初心者の方にも理解しやすいよう、基本的なアルゴリズムの手順から実際のコードまで順を追って解説していきます。 実行例 入力::[2,3,4,3,4,6,78,90] 出力::[2,3,4,6,78,90] アルゴリズム 重複要素を削除するための基本的な手順は以下の通りです。 元となるリストを作成する。 空の新しいリストを用意する。 元のリストの各要素を先頭から順番に走査する。 その要素が新しいリストにまだ存在しないかどうかを判定する。 存在しない場合のみ、新しいリストへ要素を追加する。
-
Pythonで2つの未ソートのリストをマージしてソート済みリストを作成する方法
ここでは、ユーザーが入力した2つのリストが与えられます。各リストの要素はソートされていない状態です。この記事の目的は、これら2つの未ソートのリストを1つにマージし、その後リスト全体を昇順に並べ替えることです。例入力: A[] = {100, 50, 150} B[] = {200, 30, 20} 出力: マージ後のリスト: {20, 30, 50, 100, 150, 200}アルゴリズムステップ1: まず、ユーザー入力による2つのリストを作成します。 ステップ2: 最終的なマージリストのサイズは「1つ目のリストのサイズ + 2つ目のリストのサイズ」になります。 ステップ3: s
-
Pythonによる巡回冗長検査(CRC)の実装方法とサンプルコード
巡回冗長検査(CRC)とは 巡回冗長検査(CRC:Cyclic Redundancy Check)は、デジタルデータ内の誤りを検出するために広く利用されている手法で、伝送エラーの検出に特に有効な技術として知られています。この手法の計算の中核を担っているのは「2進数の除算(バイナリ除算)」です。 CRCでは、一連の冗長ビットからなる「CRCビット(検査用ビット)」を使用します。これらのビットはデータ単位(データワード)の末尾に付加され、付加後のデータ単位全体が、あらかじめ決められた特定の2進数(除数)でちょうど割り切れるように構成されます。 受信側での誤り判定の流れ 受信側では、受信したデータ
-
2つの文字列の共通文字をアルファベット順に出力するPythonコード
ユーザーから入力された2つの文字列が与えられたとき、両方の文字列に共通して含まれる文字をすべて抽出し、アルファベット順に並べて出力する方法を解説します。Python標準ライブラリの collections.Counter を使えば、わずか数行でこの処理を実装できます。実行例入力:string1: pythonstring2: program出力: op解説上の例では、「python」と「program」の両方に含まれる文字は「o」と「p」であり、それぞれ1回ずつ出現します。そのため、アルファベット順に並べた結果は「op」となります。アルゴリズムこの問題は、Counterオブジェクトの集合演算を
-
Pythonで1回の走査だけでスペースを文字列の先頭へ移動するプログラム
はじめに単語とスペースが混在した文字列が与えられたとき、文字列を一度だけ走査して、すべてのスペースを文字列の先頭に移動させるのが本記事の目的です。Pythonではリスト内包表記(List Comprehension)を使うことで、この問題をシンプルかつ効率的に解くことができます。実行例入力:string = python program 出力:string = pythonprogramアルゴリズム単語とスペースを含む文字列を入力として受け取ります。入力文字列を走査し、リスト内包表記を使ってスペースを除いた文字列を作成します。元の文字列の長さと、スペース除去後のリストの長さの差から
-
Pythonの文字列スライスで文字列を回転させる方法
文字列が与えられたとき、その文字列を2つの方向にスライスして回転させるのが本記事の目的です。1つは時計回り(右回転)、もう1つは反時計回り(左回転)です。1. 与えられた文字列を d 要素分だけ左(反時計回り)に回転させます(d <= n)。2. 与えられた文字列を d 要素分だけ右(時計回り)に回転させます(d <= n)。実行例Input: string = pythonprogram d = 2 Output: Left Rotation: thonprogrampy Right Rotation: ampythonprogrアルゴリズムStep 1: 文字列を入力する。 S
-
Pythonでべき乗の剰余(mod)を計算するプログラムの書き方
3つの数値 x、y、z が与えられたとき、(x^y) % z を計算するのがこの記事のテーマです。べき乗の結果は指数が大きくなるほど爆発的に増加するため、剰余を取ることで値を扱いやすい範囲に収めることができます。これは競技プログラミングや暗号処理などでもよく使われる基本的なテクニックです。 例 入力:x = 2, y = 3, p = 3 出力:2 解説: 2^3 % 3 = 8 % 3 = 2 となります。 アルゴリズム ステップ1: 3つの数値を入力として受け取る。 ステップ2: pow() 関数でべき乗を計算し、% 演算子で剰余を求める。 ステップ3: 結果を画面に表示する。 サ
-
【Python入門】3つの数値から最大値を求める方法
3つの数値 a、b、c が与えられたとき、その中で最も大きい要素(最大値)を見つけるのが今回の課題です。ここでは、Pythonのリストと組み込み関数 max() を使ったシンプルな方法を、初心者向けにわかりやすく解説します。 実行例 入力:a = 2, b = 4, c = 3 出力:4 アルゴリズム ステップ1:ユーザーから3つの数値を入力として受け取る。 ステップ2:3つの数値をリストに格納する。 ステップ3:max() 関数を使ってリスト内の最大値 max(lst) を求める。 ステップ4:最後に最大値を出力する。 サンプルコード def maximum(a, b, c):
-
2つの行列を乗算するPythonプログラム
ユーザーが入力した2つの行列を受け取り、その積(乗算結果)を表示するのがこのプログラムの目的です。ここでは、ネストされたリスト(2次元リスト)を使って行列を表現します。 行列の乗算では、「1つ目の行列の行の要素」と「2つ目の行列の列の要素」をそれぞれ掛け合わせ、その合計値を結果行列の要素とします。つまり、結果行列の i 行 j 列の値は、行列Aの i 行目と行列Bの j 列目の対応する要素同士の積の総和になります。 アルゴリズム ステップ1:2つの行列を入力する。 ステップ2:ネストされたforループで、各行・各列を順番に走査する。 ステップ3:すべての要素が0で初期化された結果用行列を用
-
Pythonの組み込み関数を使って文字列の順列を表示するプログラム
Pythonでは、標準ライブラリitertoolsに含まれる組み込み関数 permutations(iterable) を使うことで、与えられた文字列のすべての順列(並べ替え)を簡単に取得できます。本記事では、この関数を活用して、入力された文字列の全順列を表示するプログラムを解説します。 実行例 たとえば、文字列「XYZ」が与えられた場合、出力は以下のようになります。 Input : string = XYZ Output : XYZ XZY YXZ YZX ZXY ZYX アルゴリズム 処理の流れは非常にシンプルで、次の3ステップで構成されます。 文字列を入力として受け取る。 permut
-
PythonでBMI(体格指数)を計算する方法|身長と体重からかんたんに算出しよう
本記事では、身長と体重を入力するだけでBMI(ボディマス指数・体格指数)を自動計算できるPythonプログラムを紹介します。BMIは、肥満度や健康状態を客観的に把握するための国際的な指標で、次の数式で求められます。BMI = 体重(kg) ÷ 身長(m)²処理の流れ(アルゴリズム)プログラムの処理手順は以下の3ステップです。ステップ1:自分の身長と体重を入力する ステップ2:BMIの計算式を適用して計算する ステップ3:計算結果のBMIを画面に表示するサンプルコード実際のPythonコードはこちらです。わずか3行でBMIを計算できます。height = float(input(身長を入力してく