読者です 読者をやめる 読者になる 読者になる

コンパイラかく語りき

文系新卒プログラマーのメモ

【JavaScript】配列の中からペアではない単一要素を見つけるにはXOR(排他演算子)が便利

プログラミングの問題を解いていて、ベストプラクティスを発見したのでメモ。 問題 奇数個の要素を持ったInt型の配列Aが与えられる。その中からペアにはならない単一の要素を見つける。 例 A[0] = 9, A[1] = 3, A[2] = 9, A[3] = 3, A[4] = 9, A[5] = 7, A[6…

Python3で標準入出力(競技プログラミング用)

最近Pythonデビューをした者です。 手始めに競技プログラミングで素振りをしようかなと。まずは入出力のお勉強。 単純な入出力 gistd81cb35385f34d5b0e127a5b4dfc85ff 入力の型 gistca87e0960b731deba07e1ff0c7d5782e 1行データの分割 gistafc68ac34d7db66f…

【Ruby】時計の針の距離を算出する

競技プログラミングの回答メモ。 実際の問題はちょっと違うけど、エッセンスは同じです。 abc013.contest.atcoder.jp 問題 まず、2つの数値が与えられる。それぞれの数値は、時計の長針と短針の位置を指し示す。ここから、2つの針の最短距離を求めよ。 ※ …

【競技プログラミング】そのstring、本当に変数に格納しておく必要がある??

競技プログラミングでの小さな気づきをメモ。 問題はこちら。 abc019.contest.atcoder.jp 文字列が与えられるので、連続する文字と文字数を出力しなさいという問題。 例えば、'aabbbaad' は 'a2b3a2d1' と出力する必要があります。 僕の最初の回答がこちら。…

競技プログラミングの使用言語を、JavaScriptからRubyに変えてみた

日記です。 いままで競技プログラミングでJavaScriptを使っていました。これからはRubyでも解いてみたいと思います。 さっそく第24回のA,B問題をRubyで解いたので、メモします。 abc024.contest.atcoder.jp ちなみに、筆者はRuby初心者でもあります。なので…

JavaScriptで競技プログラミングを解く際のテンプレをつくった

これの続きです。 chuckwebtips.hatenablog.com JavaScriptで競技プログラミングを解く際の、ある程度のテンプレを作成しました。 ※ 筆者はまだ競技プログラミングを2回しか受験していません。今後テンプレには手が加えられる可能性があります。 こちらです…

競技プログラミング問題の共通点や課題感

競技プログラミングの過去問を2つこなした。 これまで見えてきたことを軽くリストアップしてみる。 ちなみに使用言語はJavaSciptです。 共通点 問題形式はIOである。 入力されたデータは文字列型として得られる。 最初の入力が「設定情報」である。 何度か…

配列よりもオブジェクトを使う局面があると学ぶ

競技プログラミングで初めて制限時間に引っかかりました。 対処法を考えているうちに、データ構造について1つ学びがあったのでメモします。 ちなみに、重くなった原因はユニーク判定の仕方でした。 最初に書いたコードがこちら。 gist9b15f1b88ba817838fc7 …

【競プロ】25_A

25のA問題をリファクタリングしました。 最初に書いたのがこちら。 gist029e3c48036a45a9f10f 書き直したのがこちら。 gist37a5f61df0b3cecba4cf ただ、残念ながら自分でひらめいたものではなく、人から教えられました。。。 こういうのを自分で思いつけるよ…

競技プログラミングはじめました

会社の人に誘われて競技プログラミングを始めました。 競技プログラミングとは? 与えられた問題を、素早く性格に解くプログラミングのイベントです。 競技プログラミング Wiki* Webプログラミングではなく、コンソール上で行えるIO(入出力)プログラミング…