最近知ったTipsを共有します。競プロのためだけに理解の浅いC++を使っている私ですが、最近になってmap, setで最小値、最大値を一発で取得する方法があることを知りました。というか、そもそもこれらにデータを入れると勝手にソートしてくれてるので、最小値…
awkで乱数を使いたい時は rand() 関数を使います。 $ echo | awk '{print rand()}' 0.827331 rand() は0~1までの乱数を発生させます。そのため、例えば1〜10までの値にしたい時は以下のように書く必要があります。 $ echo | awk '{print int(rand()*10)+1}' …
awkで文字列を結合したい場面は稀によくあると思います。awkでの文字列の結合方法は一般的なプログラミング言語とは違い、少し癖があります。というのも、awkには文字列を結合するための演算子がありません。他の言語では + とか concat とかが用意されてい…
数弱で解説を見てもよく分からなかったのですが、なんとかACできたので考え方を残しておきます。 問題 自分の回答 考え方 コード解説 感想 問題 atcoder.jp 自分の回答 int main(void){ ll N;cin>>N; map<ll,vector<ll>> MP; REP(i, N) { string s;cin>>s; REP(j, 10) { MP</ll,vector<ll>…
競プロで順列に関する操作を行いたい時があります。例えば与えられた数字から作れる順列を列挙しろ、みたいな問題です。そんな時、C++ではnext_permutationという便利な関数があります。 使い方 動作 注意点 計算量 next_permutationが使える例題 使い方 ま…
awkでは入力をデフォルトで行単位のレコードとして読み込み、さらにそれをフィールドに分割します。フィールドは組み込み変数FS(Field Separater)で分割したモノであり、デフォルトはスペースとタブです。フィールドには左から順に$1, $2と番号が割り振られ…
awkでは入力をデフォルトで行単位のレコードとして読み込み、さらにそれをフィールドに分割します。フィールドは組み込み変数FS(Field Separater)で分割したモノであり、デフォルトはスペースとタブです。フィールドには左から順に$1, $2と番号が割り振られ…
awkにはレコードという概念があります。これは文字通り行のことで、awkは行単位でパターンマッチの判定、アクションの実行を行います。このように行を処理の単位とすることは他のUnixコマンドでも見られることなので、awkを普通に使う分には特に意識する必要…
awkを書く上で重要なパターンとアクションという独特な概念について紹介します。 パターンとアクションとは awkという言語にはパターン、アクションという2つの重要な概念があります。動作は単純明快で、「パターンにマッチしたレコードに対してアクションを…
Reactのテストライブラリでreact-testing-libraryを使っているところは多いと思う。そこで、「ある要素が存在すること」をテストしたいことも多いだろう。そんな時は以下のように書けばいい。 it('画面に initial が表示されること', () => { const { getByT…
今週の競プロ活動を振り返ります。前回の記事を見ると今週の目標として以下を挙げていました。 ABC参加 難易度Easyの問題を10問解く。 アルゴ式のグラフアルゴリズムの章(1,2章)を受講する。 algo-method.com 先週、今週のC問題に挑戦 C - Path Graph? C - D…
今週の競プロ活動の振り返りを行います。 やったこと ABC参加 2完、519の茶パフォでした。 atcoder.jp 灰diff7問解く Atcoder Problemsのrecommendationから、カテゴリがEasyの問題を7問解きました。 振り返り 灰色と茶色をうろうろする日々が続いています。…
Macユーザーだったらこんな経験があると思う。ネットからコマンドを丸々コピってきてターミナルに貼っつけたけどなんか上手くいかない。command not foundじゃない、コマンドはちゃんとある、コピペもミスってない。なんなんだ? 特に、シェル芸ワンライナー…
CSVで特定の列を抽出し、何らかの処理を加えたい場合は割とよくある。そんな時に書きがちなのが以下のようなコマンドだ。 cat test.csv | cut -d, -f 2 これでCSVの1列目だけを抽出できるというわけだ。めでたしめでたし...。 とはならない。この方法には問…
MongoDBの紹介記事、あるいはRDBと比較する記事なんかに、MongoDBのデメリットとして「RDBと違いJOINができない」と書いてあるのをよく見る。MongoDBにJOINが導入される以前の古い記事だったら良いのだが、とんでもないことに最近書かれた記事にもこんなこと…
create-react-appで作成したReactアプリ(TypeScript)に、ts-jestを導入しようとしたらめちゃくちゃ詰まったので備忘録として残しておく。 事前準備 1. css, svgファイルのインポートでエラーが出る。 jest-transform-stubの導入 テスト環境を jsdom に変更 i…
新年一発目の読書ということで、『SOFT SKILLS ソフトウェア開発者の人生マニュアル』を読んでみた。エンジニアって自己啓発チックな本を敬遠するきらいがある(偏見)があると思うが、自分も御多分に漏れずそういうタイプだ。この本もエンジニア向けではある…
test