Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. 【Python】文字の入れ替え操作で2つの文字列を一致させられるか判定する方法

    問題の概要 同じ長さの小文字のみで構成された2つの文字列 s と t が与えられます。s から1文字、t から1文字を選んで入れ替える(スワップする)操作を、好きな回数だけ繰り返せるとします。このとき、2つの文字列を完全に同じにできるかどうかを判定するのが本記事のテーマです。 例えば、入力が s = abcd、t = cdab の場合、出力は True になります。 解法のアプローチ この問題は、以下の手順で解くことができます。 s と t を連結した文字列に含まれる各文字の出現回数(fre)を集計します。 fre の各値(cnt)について次を確認します。 cnt を2で割った余りが1(

  2. Python Pandas – 入力ラベルからスライスインデクサーを計算する方法

    入力ラベルのスライスインデクサーを計算する 入力ラベルに基づいてスライスインデクサーを計算するには、index.slice_indexer() メソッドを使用します。このメソッドは、指定した開始ラベルと終了ラベルから、実際の位置ベースのスライスオブジェクトを計算して返します。まず、必要なライブラリをインポートしましょう。 import pandas as pd Pandasインデックスオブジェクトの作成 次に、Pandas のインデックスオブジェクトを作成します。ここでは、文字 p から z までの11個の要素を持つインデックスを作成します。 index = pd.Index(list(pqr

  3. Python Pandasで入力ラベルのスライス位置を計算する方法

    入力ラベルのスライス位置を計算するにはPythonのPandasライブラリでは、入力ラベルに対応するスライス位置(整数位置)を計算するために、index.slice_locs()メソッドを使用します。このメソッドは、指定した開始ラベルと終了ラベルに基づいて、スライス操作にそのまま使える位置情報をタプル形式で返してくれます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdPandasインデックスオブジェクトの作成次に、Pandasのインデックスオブジェクトを作成します。index = pd.Index(list(pqrstuvwxyz)

  4. 【Python・Pandas】RangeIndexの作成方法を初心者向けに解説

    はじめにPandasでRangeIndexを作成するには、pandas.RangeIndex()メソッドを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pdRangeIndexとは、Int64Indexの特殊なケースであり、単調な範囲(等差数列)のみを表現できる、メモリ消費を抑えられる軽量なインデックスです。RangeIndexを活用することで、状況によっては計算速度の向上も期待できます。RangeIndexの作成方法start(開始値)、stop(終了値)、step(増分)を指定して、範囲インデックスを作成します。name引数には、インデックスに

  5. Pythonでリストの偶数インデックス同士・奇数インデックス同士を交換するプログラム

    問題の概要 数値のリスト nums が与えられたとき、連続する偶数インデックス同士、および連続する奇数インデックス同士をそれぞれ入れ替えた結果のリストを返します。 たとえば、入力が nums = [8,5,3,4,8,9,3,6,4,7] の場合、出力は [3, 4, 8, 5, 3, 6, 8, 9, 4, 7] となります。 解決の手順 この問題は、次の手順で解くことができます。 i を 0 から(リストの長さ − 2)まで、4 ずつ増やしながらループする i + 2 がリストの長さ未満であれば、nums[i] と nums[i + 2] を入れ替える(偶数インデックス同士の交換) i

  6. Python Pandas入門:RangeIndexのstartパラメータの値を表示する方法

    PandasでRangeIndexのstart(開始)パラメータの値を確認するには、index.startプロパティを使用します。まずは、必要なライブラリをインポートしましょう。import pandas as pdRangeIndexは、単調な連続範囲の表現に特化したInt64Indexの省メモリ版です。実際のデータをすべて保持する代わりに「開始・終了・ステップ」という情報だけを持つため、メモリ使用量を大幅に抑えられます。また、状況によっては計算速度の向上にもつながります。ここでは、start(開始値)、stop(終了値)、step(間隔)を指定して範囲インデックスを作成します。name引数

  7. Python Pandas – RangeIndexのstopパラメータの値を表示する方法

    RangeIndexのstopパラメータの値を確認するPandasでRangeIndexのstop(終了)パラメータの値を表示するには、index.stopプロパティを使用します。このプロパティにアクセスするだけで、インデックス作成時に指定した終了値を簡単に取得できます。ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdRangeIndexとはRangeIndexは、単調な(一定間隔の)範囲のみを表現できるInt64Indexのメモリ節約型の特殊ケースです。実際のデータをすべて保持する代わりに、開始値・終了値・間隔という情報だけを持つため、メ

  8. Pythonで同種タスク間にk時間の間隔を空けて全タスクを完了するのに必要な最小時間を求めるプログラム

    問題の概要 整数のリスト tasks(各要素はタスクの種類を表します)と、負でない整数 k が与えられます。各タスクの完了には1単位の時間がかかり、タスクは必ず与えられた順序どおりに実行しなければなりません。ただし、同じ種類のタスクを2回実行する間には、少なくとも k 単位の時間を空ける必要があります。任意の時点で選択できるのは「タスクを実行する」か「待機する」かのいずれかです。すべてのタスクを完了するまでに必要な合計時間を求めてください。 入力例 たとえば、tasks = [0, 1, 1, 2]、k = 2 の場合、出力は 6 になります。 最初の2つのタスクは種類が異なるため、間隔を空

  9. Python Pandas:RangeIndexのstep(ステップ)の値を取得・表示する方法

    PandasのRangeIndexでステップ(step)パラメーターの値を表示するには、index.stepプロパティを使用します。RangeIndexとはRangeIndexは、単調な(一定間隔の)範囲のみを表現できるInt64Indexの特殊ケースで、メモリ消費を抑えられるのが特徴です。開始値(start)、終了値(stop)、増分(step)を指定して作成でき、name引数でインデックスに名前を付けることも可能です。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdRangeIndexの作成start=10、stop=30、step=

  10. Python Pandas入門:rangeオブジェクトからRangeIndexを作成する方法

    PandasでrangeオブジェクトからRangeIndexを作成するには、pd.RangeIndex.from_range(range())メソッドを使用します。このメソッドを使うと、Python標準のrangeオブジェクトをそのままインデックスとして変換できるため、連続した数値インデックスを簡単に生成できます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdRangeIndexの作成次に、rangeオブジェクトを指定してRangeIndexを作成します。ここでは、10から30までの範囲を持つrangeオブジェクトを使用しています。

  11. Pythonで株式の保有と売却により得られる最大利益を求めるプログラム

    時系列順に並べられた企業の株価リスト nums が与えられたとします。1日につき最大1株まで購入でき、複数の銘柄を同時に保有することや、任意のタイミングで売却することが可能です。この条件のもとで、獲得できる利益の最大値を求めてください。たとえば、入力が nums = [3, 4, 7, 3, 5] の場合、出力は 9 になります。具体的には、価格が 3 と 4 のときにそれぞれ 1 株ずつ購入し、価格が 7 になった時点で両方とも売却します。その後、再び価格が 3 のときに購入し、価格が 5 のときに売却します。合計利益は (7 − 3) + (7 − 4) + (5 − 3) = 9 です。

  12. Python Pandas入門:CategoricalIndexを使ってカテゴリに基づくインデックスを作成する方法

    基礎となるCategorical(カテゴリカル)に基づいてインデックスを作成するには、pandas.CategoricalIndex()メソッドを使用します。この記事では、CategoricalIndexの基本的な使い方から、カテゴリの設定、最小値・最大値の取得までを具体例とともに解説します。 CategoricalIndexとは CategoricalIndexは、基礎となるCategoricalに基づいたインデックスです。CategoricalIndexが取り得る値は、限られた(通常は固定された)数のみという特徴があります。例えば「性別」や「曜日」のように、取りうる値があらかじめ決まってい

  13. Python Pandas – 順序付きCategoricalIndexから最小値を取得する方法

    Pandasで順序付きCategoricalIndex(カテゴリカルインデックス)の最小値を取得するには、catIndex.min()メソッドを使用します。この記事では、実際のコード例とともに、手順をわかりやすく解説していきます。1. ライブラリのインポートまずは、必要なライブラリをインポートしましょう。import pandas as pd2. 順序付きCategoricalIndexの作成次に、「categories」パラメータを使ってカテゴリを設定し、「ordered」パラメータにTrueを指定することで、カテゴリカルデータを順序付きとして扱います。ここでは「p」「q」「r」「s」という

  14. マトリックス文字ボード内の単語をチェックするPythonプログラム

    問題の概要各セルに1文字が格納された行列(マトリックス)形式の文字ボードと、検索対象の文字列 word が与えられます。このとき、word がボード内で「左から右」または「上から下」の一方向に連続して現れるかどうかを判定するのが課題です。入力例antsspinlaps検索する単語:“tip”この場合の出力は True になります。実際、3列目を上から下に読むと「t → i → p」となり、"tip" が形成されていることが確認できます。解決のアプローチこの問題はシンプルな全探索(ブルートフォース)で効率よく解けます。手順は以下の通りです。ボードの各行

  15. Python Pandas - 順序付きCategoricalIndexから最大値を取得する方法

    Pandasで順序付き(Ordered)のCategoricalIndexから最大値を取得するには、catIndex.max()メソッドを使用します。この記事では、実際のコード例とともに、その手順をわかりやすく解説します。CategoricalIndexとはCategoricalIndexは、限られた数の(通常は固定された)可能な値のみを取ることができるインデックスです。カテゴリに順序を設定することで、値同士の大小比較が可能になり、max()やmin()といったメソッドを使えるようになります。手順1:必要なライブラリをインポートするまず、必要なライブラリをインポートします。import pan

  16. Pythonで連絡先メールアドレスのリストからユニークな人数を求める方法

    問題の概要連絡先リストとして、メールIDのリストが与えられているとします。各行には、同じ人物のメールIDが複数含まれていることがあります。連絡先 i は、j < i を満たす任意の j について、連絡先 j が i と共通のメールアドレスを持つ場合に「重複」とみなされます。ここでの目的は、連絡先リストの中に何人のユニークな人物が存在するかを求めることです。たとえば、入力が以下のような場合を考えてみましょう。contacts = [[alex@gmail.com, alex@yahoo.com], [alex_25@yahoo.com, alex@gmail.com], [bob15@gm

  17. Pythonで海が見える建物を見つけるプログラム|単調スタックによるO(n)解法

    問題の概要 さまざまな高さの建物のリストが与えられたとします。ある建物 heights[i] から海が見えるのは、その右側にあるすべての建物がその建物よりも低い場合です。この条件を満たす建物のインデックスを、昇順で求めるのがこの問題の目的です。 たとえば、入力が heights = [8, 12, 12, 9, 10, 6] の場合、出力は [2, 4, 5] になります。 インデックス 2(高さ 12):右側の建物は 9・10・6 とすべて低いため、海が見えます。 インデックス 4(高さ 10):右側には高さ 6 の建物しかなく、海が見えます。 インデックス 5(高さ 6):右側に建物が存

  18. Pythonで注文リストの集配操作が有効かどうかを判定するプログラム

    文字列のリスト orders があるとします。各要素は「P」または「D」で始まり、その後に注文ID番号が続きます。「P」は受取(ピックアップ)、「D」は配達を意味します。たとえば「P6」は「注文6を受け取る」ことを表します。このリストが以下のルールに従って有効かどうかを判定する必要があります。受取前に配達することはできないすべての受取には対応する配達が必要であるすでに受取・配達済みの注文を再度受取または配達することはできないたとえば、入力が orders = [P1, D1, P2, P3, D3, D2] の場合、出力は True になります。これは、最初の注文が受取後に配達され、2番目と3

  19. 【Python】リストが最大ヒープを形成しているかどうかを判定する方法

    リストがヒープツリー(完全二分木)を表していると仮定します。このとき、その要素が最大ヒープ(max heap)を形成しているかどうかを判定する必要があります。 最大ヒープとは、すべての親ノードがその左右の子ノードのどちらよりも大きい(または等しい)という性質を持つヒープのことです。 たとえば、入力が nums = [8, 6, 4, 2, 0, 3] の場合、出力は True になります。これは、すべての親要素がそれぞれの子要素より大きいためです。 解決手順 この問題は、次の手順で解決できます。 n := nums のサイズとする i を 0 から n - 1 までループする m :=

  20. Pythonで最終戦後に優勝できるスイマーの人数を求めるプログラム

    問題の概要 長さ n の数値リスト nums が与えられます。各要素は、水泳競技会に参加しているスイマーの現在の得点を表しています。最終戦では、このラウンドの1位の選手に n 点、2位の選手に n-1 点というように、順位に応じた得点が加算されます。ここで、現時点から見て、最終戦の結果次第でまだ優勝(1位タイを含む)の可能性を残しているスイマーが何人いるかを求めます。得点が並んで1位タイになった場合も優勝としてカウントします。 入力例とその解釈 たとえば入力が nums = [9, 6, 11, 12] の場合、出力は 3 になります。これは、現在 9 点・11 点・12 点のスイマーは、最

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:387/450  20-コンピューター/Page Goto:1 381 382 383 384 385 386 387 388 389 390 391 392 393