Aisakaプログラミングblog

2020/01/01〜WPF(Windowsデスクトップアプリ開発)の取組を中心に行います。

その他プログラミング

Dictionary<long,long>をList<Tuple<long,long>>に変えるとACになった件【競技プロ】【C#】

Atcoder Begin Contest 121のC問題をときました。 atcoder.jp最初のコードがDictionary型で書いたもの、次のコードがTuple型で書いた物。 ACになったのはList>型。忘れないようにメモ。 Dictionary using System; using System.Linq; using System.Collectio…

競技プログラミング 個人的メモ【C#】

競技プログラミングを行う際にいつも用いるものを纏めます。 型が異なる事によるWAには要注意 読み込み、出力など 読み込み系 一行読みこむ(整数) 複数文字列の一行を読みこむ(空白区切り、整数に変換) 複数文字列の複数行を読みこむ(空白区切り、整数…

PythonでWEBスクレイピングする

WEBスクレイピング コード XPathの確認方法 htmlフォームからの情報取得 WEBスクレイピング コード Pythonでメルカリの情報取得したかったので、このサイトを参考に取り組みました。メルカリをスクレイピングして商品リンク、画像、価格を取得する - Python…

Pythonで簡単にできる!二つの画像の特徴点を結ぶプログラム!

プログラミング言語Pythonを使用して、特徴抽出を行います。 Pythonを触ったことすらない方も取り組めるように、環境準備から行います。 環境として必要なものは下記の通りです。 下記の環境準備ができている方は、「特徴点を結ぶ」からご覧ください。 環境…

gnuplotで3次元グラフを描画する・入力コマンドをフォーマット化する

gnuplotで3次元図を表示する方法を書いていきます。合わせて、「グラフの色の変更、軸ラベルの表示・設定、入力コマンドのフォーマット化」についても記述させていただきます。 インストールがまだの方はこちらから! infoaisaka.hatenablog.com 3次元図を…

30日の学習の成果は?(AtCoder(競プロ)1日1問【30日目】【Python】【最終日】)

本日はAtCoder Beginner Contest 102の開催日 時間:20:30〜22:10 AtCoder Beginner Contest 102 - AtCoder 今までの練習の成果の検証です。 AtCoder30日毎日1問の成果 他人のコードで方法を学ぶ 結果 感想 AtCoder30日毎日1問の成果 A問題とB問題は、練習の…

AをBで割った時の商を出力する(AtCoder(競プロ)1日1問【29日目】【Python】)

AtCoder Beginner Contest 087 A問題 A - Buying Sweets 本日のポイントは「AをBで割った時の商を出力する」です。 AをBで割った時の商を出力する コードの改善 AをBで割った時の商を出力する #input()の時点でX - A を完了させておく X_A = int(input()) - …

sorted()の出力を降順にする(AtCoder(競プロ)1日1問【28日目】)

AtCoder Beginner Contest 088 B問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「sorted()」です。 sorted()の出力を降順にする N=input() a= sorted([int(j) for j in input().split()],reverse=True) print(sum(a[:…

条件によりprint文の出力を変更する(AtCoder(競プロ)1日1問【27日目】【Python】)

AtCoder Beginner Contest 088 A問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「print()」です。 条件によりprint文の出力を変更する n=int(input())a=int(input())print(['No','Yes'][n-(n//500)/(1/500)-a<=0]) 理屈…

set()で重複をなくす(AtCoder(競プロ)1日1問【26日目】【Python】)

AtCoder Beginner Contest 089 B問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「set()」です。 set()で重複をなくす >|python| n = int(input())type = len(set([ i for i in input().split()]))print(["Three","Fou…

除算の商のみ出力させる(AtCoder(競プロ)1日1問【25日目】【Python】)

AtCoder Beginner Contest 089 A問題 A - Grouping 2 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「//」です。 除算の商のみ出力させる 入力数を1グループ3人以上のグループに分けるとき、 作ることができるグループの最…

配列を逆順に出力する[ : : -1](AtCoder(競プロ)1日1問【24日目】【Python】)

AtCoder Beginner Contest 090 B問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「[::-1]」です。 与えられた数字列二つの範囲で回文数となる数字の個数を求めよ。という問題。 回文数:逆順にしても同じ数字。 配列を逆順…

入力数をリスト化する(AtCoder(競プロ)1日1問【23日目】【Python】)

AtCoder Beginner Contest 090 A問題 A - Diagonal String 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「入力数をリスト化」です。 入力数をリスト化 この問題はこういうイメージ この図で言うと、「aei」を出力してほしい…

リストへの要素の追加・削除(AtCoder(競プロ)1日1問【22日目】【Python】)

AtCoder Beginner Contest 091 B問題 B - Two Colors Card Game 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「リストへの要素の追加・削除」です。 今回の問題は図的にいうとこのようなイメージです。 オレンジ色の玉の数を…

split()で文字列の分割(AtCoder(競プロ)1日1問【21日目】【Python】)

AtCoder Beginner Contest 091 A問題 A: Two Coins - AtCoder Beginner Contest 091 | AtCoder 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「split()」です。 split()で文字列の分割 A,B,C= map(int,input().split()) p…

map()で文字列を数字に変換(AtCoder(競プロ)1日1問【20日目】【Python】)

AtCoder Beginner Contest 092 B問題 B - Chocolate 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「map()」です。 問題 N人が参加してD日間行われた。 i人目の参加者は合宿の 日目にチョコレートを一つずつ食べる。 合宿終…

最小値を返すmin()(AtCoder(競プロ)1日1問【19日目】【Python】)

AtCoder Beginner Contest 092 A問題 abc092.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「min()」です。 min関数により最小値を返す min関数は、引数の中で最も小さい値を返り値とします。 例えば、…

条件に応じて出力を変える[]を用いた記法(AtCoder(競プロ)1日1問【18日目】【Python】)

AtCoder Beginner Contest 093 B問題 B - Small and Large Integers 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「を用いた記法」です。 を用いた記法 A,B,K = map(int,input().split()) K = [ B - A , K ][ K < ( B - A ) …

配列に指定文字が存在するか確かめる(AtCoder(競プロ)1日1問【17日目】【Python】)

AtCoder Beginner Contest 093 A問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「配列に指定文字が存在するか確かめる」です。 配列に指定文字が存在するか確かめる S = input() print(["No","Yes"]["a" in S and "b" in …

条件が一致した値以外を配列に追加する方法(AtCoder(競プロ)1日1問【16日目】【Python】)

AtCoder Beginner Contest 094 B問題 B - Toll Gates 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「not in」です。 条件が一致した値以外を配列に追加 N,M,X = map(int,input().split()) toll_index = [int(i) for i in inp…

条件分岐によりprint文の出力結果を変える(AtCoder(競プロ)1日1問【15日目】【Python】)

AtCoder Beginner Contest 094 A問題 A - Cats and Dogs 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「print×条件分岐」です。 print文×条件分岐 A,B,X = map(int,input().split()) print("YES") if B >= X - A and A <= X …

複数回のinput()結果を配列に格納する(AtCoder(競プロ)1日1問【14日目】【Python】)

AtCoder Beginner Contest 095 B問題 abc095.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「input( )」です。 複数回のinput( ) 所持金:X円 最低限作りたいドーナツの種類:N ドーナツの素の値段: でN…

文字列中の特定の文字の数を取得する(AtCoder(競プロ)1日1問【13日目】【Python】)

AtCoder Beginner Contest 095 A問題 abc095.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「count( )」です。 print(input().count('o')*100+700) input( )で入力された文字列の中で、今回は"o"の数がト…

余りを出力する(AtCoder(競プロ)1日1問【12日目】【Python】)

AtCoder Beginner Contest 099 C問題 abc099.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「%」です。 余りを出力する N = int(input()) res = N for i in range(N + 1): cc = 0 t = N - i while t > 0: …

range( ) でリストを生成する(AtCoder(競プロ)1日1問【11日目】【Python】)

AtCoder Beginner Contest 099 B問題 abc099.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「range( )」です。 今回の問題を解くためには、1〜?の範囲の数字を足す表現を用います。 sum(range(1,b-a+1))で…

OCRツール作成【画像の読み込み】【python】

英語で書かれた文字の存在する画像を読み込み、文字認識を行う 画像の読み込み 画像を読みこむにはダイアログボックスというものを出現させなければなりません。ダイアログボックスはこちらの記事が参考になります。[1] ダイアログボックスを利用するには、w…

文字を指定の数だけ繰り返す(AtCoder(競プロ)1日1問【10日目】【Python】)

AtCoder Beginner Contest 096 C問題 abc096.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「文字*数字」です。 文字を指定の数だけ繰り返す この問題を解く中で「'.'*数字」という組み合わせを使用します…

最大値の取得(max)(AtCoder(競プロ)1日1問【9日目】【Python】)

AtCoder Beginner Contest 096 B問題 abc096.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「max( )」です。 最大値の取得(max) A,B,C = [int(i) for i in input().split()] K = int(input()) integerList…

区切り文字で分割する(split)(AtCoder(競プロ)1日1問【8日目】【Python】)

AtCoder Beginner Contest 096 A問題 abc096.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「split( )」です。 問題は、 1月1日〜a月b日までの間に月と日の数が同じになる日が何日あるか。 入力として「月…

要素の追加(add)(AtCoder(競プロ)1日1問【7日目】【Python】)

AtCoder Beginner Contest 097 C問題 abc097.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「add()」です。 add()はset関数で作成したものに対して要素を加えることができます。 今回の問題としては、入…