マガジンのカバー画像

Pythonコード共有

90
Pythonのコードをここに共有します。 勉強した証をここに残します。 是非見てください。
運営しているクリエイター

記事一覧

atcoderB問題特集

atcoderB問題特集

問題①解答コードn = int(input())n_lst = ['H', 'D', 'C', 'S']n_lst_1 = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K']n_lst_2 = [] # 入力したデータを格納するflg = Truefor _ in range(n): n_1 = input()

もっとみる
深さ優先行きがけ順のプログラム

深さ優先行きがけ順のプログラム

勉強の記録として残します。

グラフの図は下記になります。

行きがけ順の実際のコードは下記になります。

def depth_search(): tree = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [], [], [], [], [], [], [], []] data = [

もっとみる
atcoderアルゴリズム③

atcoderアルゴリズム③

問題①解答コードN = int(input())data_lst = []cnt = 0cnt_1 = 0for _ in range(N): data = input() if data == 'For': cnt += 1 else: cnt_1 += 1if cnt > cnt_1: print('Yes')else: print('

もっとみる
ランチェスター戦略とは何か?AIによる説明

ランチェスター戦略とは何か?AIによる説明

ランチェスター戦略をPythonのプログラムで実装するには、以下のような流れになります。

データの前処理: PandasやNumpyを使って、不要なデータや欠損値を除去し、データを整理します。

セグメンテーション: Scikit-learnを使って、クラスタリングアルゴリズム(例えばK-means)を使ってセグメンテーションを行います。

可視化: MatplotlibやSeabornを使って

もっとみる
AIによる動的計画法の説明

AIによる動的計画法の説明

動的計画法は、問題をより小さな部分問題に分割し、各部分問題を 1 回だけ解決することによって問題を解決する方法です。

各部分問題の解はテーブルに格納され、他の部分問題の解法に再利用できます。

これにより、冗長な計算が回避され、アルゴリズムの効率が大幅に向上します。

以下は、Python で動的プログラミングを使用して、特定の量の変更を行うために必要な最小コイン数を見つける問題を解決する例です

もっとみる
atcoder勉強アルゴリズム

atcoder勉強アルゴリズム

問題

h, w = (int(_) for _ in input().split(" "))list_ = list()sum_ax0 = [0 for wi in range(w)]for hi in range(h): line_ = [int(_) for _ in input().split(" ")] sum_ax0 = [x + y for x, y in zip(sum

もっとみる
atcoderアルゴリズム②

atcoderアルゴリズム②

atcoderで問題を解いたので共有したいと思います。

問題①解答コードN, K = map(int, input().split())p_list = list(map(int, input().split()))q_list = list(map(int, input().split()))confirm = 0flg = Falsefor i in p_list: for j in

もっとみる
動的計画法

動的計画法

復習を記録します。

問題①解答コード# 入力N = int(input())H = list(map(int, input().split()))# 動的計画法dp = [ None ] * Ndp[0] = 0for i in range(1, N): if i == 1: dp[i] = abs(H[i - 1] - H[i]) if i >= 2: v1 = dp[i - 1] + a

もっとみる
python図形作成

python図形作成

今回のnoteはpythonでピラミッドとダイヤモンドの図形を作成していきたいと思っています。

初歩的なアルゴリズムになりますので是非勉強の参考にしてください。

ピラミッド表示まずは、ピラミッドの作成になります。
完成した図は下記の通りになります。

ユーザから何段のピラミッドにするのかデータを受け取りその段数のピラミッドを表示します。

考え方としては*(アスタリスク)の隣に空白をどのくらい

もっとみる
pythonアルゴリズム(クリスマスツリー作成)

pythonアルゴリズム(クリスマスツリー作成)

今日はpythonでクリスマスツリーのを表示するプログラムを作成しましたので記録として残していきます。

まずは、アルゴリズムの実行した結果を画像で貼り付けます。

実際のコードimport numpy as npx = np.arange(7, 16) # 配列作成y = np.arange(1, 18, 2)z = np.column_stack((x[::-1], y)) # xの配列は逆順

もっとみる
atcoderアルゴリズム

atcoderアルゴリズム

atcoderで解いた問題を共有します。

問題1解答コードdef sample1(): """A - Shift """a, b = map(int, input().split())A = list(map(int, input().split()))for i in range(b): n = A.pop(0) # 一番前のデータを取り出す A.append(0) # 一番

もっとみる
pythonデータ型とアルゴリズムについて

pythonデータ型とアルゴリズムについて

pythonの組み込み関数の種類
・sorted関数
・reversed関数

上記の二つがある。

sorted()関数は引数に与えたイテラブルオブジェクトをソートして結果をリストで返す。

reversed()関数は引数に与えたシーケンスオブジェクトを「逆順」にしタイテレーターで返す。

下記にコードを共有します。

def sample1_v1(): """ソートについて"""

もっとみる
python勉強(itertools)

python勉強(itertools)

pythonの勉強した記録を残していきます。
itertoolsについてです。

Pythonでは、連続するデータをイテレーターを使って表現します。
イテレーターは__next__()メソッドを呼び出すと値を返してくれます。

itertoolsモジュールのgroupby()関数
イテラブルオブジェクトをグループ化したイテレーターを返す。

実際のコード

import itertoolssort

もっとみる
ユークリッドの互除法

ユークリッドの互除法

atcoder復習&勉強記録

問題①解答コードdef GCD(n_1, m_1): while n_1 >= 1 and m_1 >= 1: # 余りが0になるまで繰り返す。 if n_1 < m_1: # どっちが大きいのか確認 m_1 = m_1 % n_1 else: n_1 = n_1 % m_1 # mod(

もっとみる