ヤマカサのプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

Java

スッキリわかるJava入門 実践編 第12章 データベースアクセス

第12章 データベースアクセス 12章ではプログラムからデータベースを操作することを学びます。 DBMSはH2 Databaseを使います。

[yukicoder] No.90 品物の並び替え

問題 No.90 品物の並び替え - yukicoder 全探索の問題で、順列を列挙して解くことができる問題です。

AtCoder Beginner Contest 023

問題 AtCoder Beginner Contest 023 - AtCoder Beginner Contest 023 | AtCoder C問題が分からなかったので解説をみました。過去問のC問題は難しいと思います。 過去問の難易度を推定してくれたサイトがあるので紹介します。 過去のARC/ABCの問題難易度推測 …

スッキリわかるJava入門 実践編 第11章 ネットワーク通信

第11章 ネットワーク通信 Javaによるネットワーク通信について学びます。ネット上にあるデータを読み込んだりします。

[Aizu Online Judge] Rooted Trees (ALDS1_7_B: Binary Tree)

問題 二分木 | アルゴリズムとデータ構造 | Aizu Online Judge プログラミングコンテスト攻略のためのアルゴリズムとデータ構造の8.3 二分木の表現です。データ構造の一種でこれを利用できるようにしたいですね。 参考サイト programming-place.net

[yukicoder] No.77 レンガのピラミッド

問題 No.77 レンガのピラミッド - yukicoder 解けなかったので解説を読みました。 sugarknri.hatenablog.com

スッキリわかるJava入門 実践編 第10章 ファイルの操作

第10章 ファイルの操作 代表的なデータフォーマットとその操作を学びます。 CSVファイル形式 CSVファイル形式は複数のデータをカンマで区切って順番に格納するデータフォーマットで広く使われています。

Java言語で学ぶ デザインパターン入門を読む その8

第8章 Abstract Factory Abstract Factoryは抽象的な部品を組み合わせて抽象的な製品を作ります。この考え方をものにするには大変だと思いました。何回も読み直そう。

スッキリわかるJava入門 実践編 第9章 ファイルの操作

第9章 ファイルの操作 9章ではファイル操作について扱います。ファイル操作はテキストファイルやバイナリファイルを読み込んだり書き込んだりします。 学んだことのある内容なので特筆すべきことはないんですが、フォルダを指定してファイルを出力したときに…

AtCoder Beginner Contest 102 C - Linear Approximation

問題 C - Linear Approximation タイトルが線形近似ということで、最小二乗法とかを連想しますね。 調べてみると、割と有名な問題のようですね。大学受験の問題でも出されたことがあるようです。 datahotel.io

AtCoder Beginner Contest 102 の感想

AtCoder Beginner Contest 102 AtCoder Beginner Contest 102 - AtCoder 今回はC問題まで解くことができました。D問題は解く方針はなんとなく分かりましたが、実装することはできませんでした。 A - Multiple of 2 and N が偶数であれば を出力し、奇数であ…

[yukicoder] No.73 helloworld

問題 No.73 helloworld - yukicoder 問題文を見ても解説文を読んでも何のことかさっぱりでしたが、数式を見ているうちになんとか理解できました。 下のサイトが参考になりました。 mmxsrup.hatenablog.com

[Aizu Online Judge] Rooted Trees (ALDS1_7_A: Rooted Trees)

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 8.2 根付き木の表現 本当にA問題なのかと疑いたくなります。 根付き木はデータ構造の一部です。あまり理解できませんでしたが、頭に入れておきたいです。

AtCoder Beginner Contest 021

AtCoder Beginner Contest 021 AtCoderの過去問をやっています。20回目のC問題が理解できないので、次の21回目の問題を解いていきます。

スッキリわかるJava入門 実践編 第8章 非標準ライブラリの活用

第8章 非標準ライブラリの活用 commonc-langの設定 Apache Commonsプロジェクトのcommons-langを使います。 ダウンロード Lang – Download Apache Commons Lang

Java言語で学ぶ デザインパターン入門を読む その7

第7章 Builder Builderパターンでは、各処理を積み上げていくようにプログラミングを行います。クラスに交換可能性を持たせることで、設計時には決まらない部分を後で作り上げることができます。

スッキリわかるJava入門 実践編 第7章 JVM制御とリフレクション

第7章 JVM制御とリフレクション 外部プログラムの実行 Javaプログラムから他のプログラムを実行したいときは、ProcessBuilderクラスを使って起動させることができます。

スッキリわかるJava入門 実践編 第6章 ラムダ式と関数オブジェクト

分かりやすJavaオブジェクト指向編を読み終えたので、放置していたスッキリわかるJava入門実践編をやっていきたいと思います。

Java言語で学ぶ デザインパターン入門を読む その6

第6章 Prototype Prototypeパターンでは、クラス名を指定せずにインスタンスを生成するために、インスタンスをコピーして新しいインスタンスを作ります。 Java言語では複製を作る操作を clone と呼びます。この章ではcloneメソッドとCloneableメソッドの使い…

[yukicoder] No.58 イカサマなサイコロ

問題 No.58 イカサマなサイコロ - yukicoder 個のサイコロの出目の和を計算して、値が相手より大きければ勝ちとなります。ただし、こちらのサイコロは出目が異なるものを 個使います。

[Aizu Online Judge] 最小コストソース (ALDS1_6_D: Minimum Cost Sort)

問題 最小コストソート | アルゴリズムとデータ構造 | Aizu Online Judge なるほど、わからん。解説読んでも解答コード見てもわからん。 理解するのに一年位かかりそうです。理解したら追記しよう。

Java言語で学ぶ デザインパターン入門 を読む その5

第5章 Singleton Singletonパターンでは、インスタンスの数に制限を設けて、インスタンス同士の相互の影響を生み出さないために用いられます。関連事項として、排他制御が挙げられます。 増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メ…

[yukicoder] No.52 よくある文字列の問題

問題 No.52 よくある文字列の問題 - yukicoder 問題の意味が良く分からなかったので解説みて理解しました。 mmxsrup.hatenablog.com

[yukicoder] No.45 回転寿司

No.45 回転寿司 No.45 回転寿司 - yukicoder どうやって解くのか分からなかったので、解説をみました。どうやら動的計画法で解くようです。 解説を見て動的計画法ってこういう問題なんだと少しわかったような気がします。良い問題ですね。

[yukicoder] No.44 DPなすごろく

問題 No.44 DPなすごろく - yukicoder 動的計画法で解けるみたいですが、まだ学習しておりません。 なので、愚直に考えました。

わかりやすいJava オブジェクト指向編 プログラミング演習 その3

ユーティリティクラスとゲームクラス 今日でプログラミング演習を終えました。 ユーティリティクラスは、JavaのMathクラスのような働きをします。ここでは、文字列の入力を受け付けます。 ゲームクラスでは、Card, CardDeck, Player, Dealerの4つのクラスを…

AtCoder Beginner Contest 018 C - 菱型カウント

探索方法を工夫する C - 菱型カウント 解法が思いつかなかったので、解説を読みました。 問題の概要については、下のサイトがうまく説明していました。 purple-jwl.hatenablog.com

わかりやすいJava オブジェクト指向編 プログラミング演習 その3

プレイヤとディーラの作成 ブラックジャックはプレイヤとディーラとの勝負なので、それらに対応するクラスを作ります。 プレイヤクラスでは、2枚カードを引き、全ての手札を公開します。追加でカードを引くかどうかはプレイヤに任されます。一方で、ディーラ…

Java言語で学ぶ デザインパターン入門 を読む その4

第4章 Factory Method Template Methodパターンをインスタンス生成の場面に適用したものがFactory Methodパターンになります。 このパターンを用いることで、パッケージをフレームワークと肉付けに分け、フレームワークを変えずに、肉付けの部分を修正するこ…

わかりやすいJava オブジェクト指向編 プログラミング演習 その2

CardクラスとCardDeckクラス 前回、Cardクラスを作成しましたが、今回はCardクラスのメソッドを追加し、新たにCardDeckクラスを作成します。