HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

2017-11-01から1ヶ月間の記事一覧

いやそれリークしますからっ!

以下のようなプログラムを見つけて、思わず机を叩き割ろうかと思いましたよ、えぇ‥ Reader reader = null; try { for (int i = 0; i < files.length; ++i) { reader = new BufferedReader(new InputStreamReader(new FileInputStream(files[i]))); // 以下、…

各言語でコマンドライン引数を扱う

そういえばやってなかったなということで、各言語でコマンドライン引数を扱うプログラムを書いてみたメモ。 要件は以下の通り。 コマンドライン引数として、3個以上の文字列を与える 標準出力に、以下を順に出力 引数として与えられた文字列を改行区切りで出…

文字列のマッチング方法によるパフォーマンスの違い

Javaで文字列のパターンマッチをしようと思ったら、以下の3通りに書ける。 String str = "Hello World"; if (str.matches("H.*W")) { ... } String str = "Hello World"; if (java.util.regex.Pattern.matches("H.*W", str)) { ... } String str = "Hello Wo…

各言語でメッセージダイジェスト

手元にある各言語で、メッセージダイジェストを出力してみたメモ。 要件は以下の通り。 標準入力から、0バイト以上の任意のバイト列が入力される 標準出力に、入力に対する以下のハッシュ文字列を改行区切りで出力する MD5 SHA-1 SHA-224 SHA-256 SHA-384 SH…

各言語でbase64エンコード/デコード

手元にある各言語で、base64エンコード/デコードをしてみたメモ。 要件は以下の通り。 標準入力は以下の通り構成される 1行目はASCII文字(空白文字を含む)からなる文字列が与えられる 2行目はbase64エンコードされた文字列が与えられる 3行目以降はMIME形式…

各言語での1行読み込み時に得られる文字列の違い

手元にある各言語で、「1行」を読み込んだ時の文字列の違い、とりわけ改行コードの扱いについて調べてみたメモ。 環境 手元にあるものということで、環境は以下のものに限定する。 CentOS 7 Java (openjdk version "1.8.0_151") C (gcc (GCC) 4.8.5) -std=gn…

各言語でMap

手元にある各言語で、Map構造を使うプログラムを書いてみようと思ったメモ。 Map構造と言っても、「連想配列」がその言語にあればそれを使う。 要件は以下の通り。 標準入力は、以下のデータから構成される 1行目に、空白区切りのキーワードがいくつか入力さ…

各言語で日時文字列の解析

手元にある各言語で、標準入力から日時文字列を読み込んで、標準出力にUNIX TIME値を吐き出すプログラムを書いてみようと思ったメモ。 要件は以下の通り。 入力される日時文字列は1つのみ 不正入力のチェックは不要とする OS等のタイムゾーンはJST 対応するU…

各言語でdate format

手元にある各言語で、標準入力からUNIX TIME値を読み込んで、標準出力にフォーマットされた日時文字列を吐き出すプログラムを書いてみようと思ったメモ。 要件は以下の通り。 入力されるUNIX TIME値は1つのみ 不正入力のチェックは不要とする タイムゾーンは…

各言語でQueue

手元にある各言語で、標準入力からの数値列をQueueに放り込んで、入力と同順になるように標準出力に吐き出すプログラムを書いてみようと思ったメモ。 標準入力から入力される数値列の要件は以下の通り。 1行に1つの数値が書かれている 不正入力のチェックは…

各言語でStack

手元にある各言語で、標準入力からの数値列をStackに放り込んで、入力とは逆順になるように標準出力に吐き出すプログラムを書いてみようと思ったメモ。 標準入力から入力される数値列の要件は以下の通り。 1行に1つの数値が書かれている 不正入力のチェック…

Go言語のパッケージ名と変数名の罠

Go

Go言語で以下のようなコードを書いて一瞬ハマったのでメモ。 package main import ( "fmt" "container/list" ) func main() { list := list.New() list.PushBack(1) list.PushBack(2) list.PushBack(3) for elem := list.Front(); elem != nil; elem = elem.…

標準入力から数値列を読み込んで、逆順に標準出力に吐き出す

手元にある各言語で、標準入力から数値列を読み込んで、逆順にしたうえで標準出力に吐き出すプログラムを書いてみようと思ったメモ。 標準入力から入力される数値列の要件は以下の通り。 1行に1つの数値が書かれている 不正入力のチェックは不要とする いく…

標準入力から数値列を読み込んで、降順にソートして標準出力に吐き出す

手元にある各言語で、標準入力から数値列を読み込んで、降順にソートしたうえで標準出力に吐き出すプログラムを書いてみようと思ったメモ。 プログラム言語にもよるが、昇順は簡単なのに降順となったとたんに苦労するケースがあったりする。 標準入力から入…