週末副業記

土日は副業エンジニアのブログです。副業に関することを投稿します。

その他プログラミング

【WPF】進捗インジケータのサンプル【C#】【XAML】

進捗状況・プログレスバーなどで検索するも、思ったように出てこなかったので作成しました。※結論、最適な検索キーワードは「進捗インジケータ」「プログレストラッカー」のようです。進捗状況をプログレスバーで表すには適していない場合があります。例えば…

競技プログラミング メモ【辞書関連】【C#】

競技プログラミングで使用する辞書方の文法を記述します。 辞書型 辞書の中に指定のキーが含まれるか 辞書よりもListの方がスタックオーバーフローにならない(経験談) 辞書の文字列型Keyをソートする(ABC155C問題) 辞書型 Dictionary<string,string> dic = new Dictionary<string,string>(</string,string></string,string>…

競技プログラミング メモ【配列関連】【C#】

競技プログラミングで使用する配列系の文法を記述します。 配列系 配列を逆順にする 特定の文字の個数を文字列中から検索 配列の重複要素を削除する 文字列を追加する+同じ文字を並べる カウント 条件に一致する値を見つけたら出力する 文字列sのi番目と文字…

競技プログラミング メモ【数学関連】【C#】

競技プログラミングで問題を解く上で必要な数式や性質についてまとめます。 数学 剰余の性質 二元一次不定方程式の整数解 最大公約数 最小公倍数 桁数18乗程度の場合のあまりの計算(ulong) 平方根を用いた式の比較時 数学 剰余の性質 ・で割った余りを求めよ…

AtCoder Beginner Contest 14B【ビットシフト】

ビットシフトについて使い方が分かりやすい問題です。 atcoder.jp 問題概要 この問題は、購入した商品(とある集合における任意の部分集合)の価格を合計するという問題です。各商品はビットが立っている箇所で表現されています。商品の価格はべつの配列で表…

AtCoder Beginner Contest 169 C:Multiplication 3

はじめに decimalを使用すれば精度高く浮動小数点が式中に登場する式の積が求められるらしいことはコンテスト中に分かったが、解答に至らなかったので、復習。 atcoder.jp decimalの使用に適した形が理解できたのでメモ。 条件 問題文として与えられている条…

競技プログラミング Atcoder Beginner Contest 167 C Skill #ビット演算 #全探索

全探索とビット演算を覚えたのでメモ。 これから全探索にビット演算を活用していきたい。 using System; using System.Collections.Generic; using System.Linq; namespace easy_Atcoder { class Program { static void Main(string[] args) { int[] NMX = A…

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

具体事例 X以下の最大の冪乗数を求める 入力文字列を90度回転 具体事例 X以下の最大の冪乗数を求める int X = int.Parse(Console.ReadLine()); int ans = 1; for(var i = 2; i*i <= X; i++){ //2乗フィルタ for(var j = i*i; j <=X; j*=i){ //2乗以上フィル…

AtCoder Beginner Contest 150 C 【C#】

ざっと解説 ようやく理解したのでメモ。 コメントに全て解説を記述しています。同じ内容で提出しているのでどちらが検索に出てくるか。。。 色々他の人の解法を見ましたが、よくわからなかったのでノートに一行ずつ日本語で解説を書くノリで 全部書いていま…

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 …