新着記事
[Ruby|Python]paiza 累積和メニュー5 【二次元累積和】
今回はpaiza 累積和メニューセクショ5【二次元累積和】を解説します。 整数の要素をもつ、h行 w列の二次元配列aの、左上の要素をa[sy][sx], 右下の要素をa[gy][gx]としたときに出来る長方形の区間和を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取 ...
[Ruby|Python]paiza 累積和メニュー4 【区間内の個数 (文字列)】
今回はpaiza 累積和メニューセクショ4【区間内の個数(文字列)】を解説します。 n文字の文字列strの、任意の区間内の"b"の数はいくつか?を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によるデータ取得2 [Ruby] 標準入力 ...
[Ruby|Python]paiza 累積和メニュー3 【区間内の個数】
今回はpaiza 累積和メニューセクショ3【区間内の個数】を解説します。 n個の整数の要素からなる配列aがあり、任意の区間内の偶数の数はいくつか?を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によるデータ取得2 [Ruby] 標準入 ...
[Ruby|Python]paiza 累積和メニュー2 【連続するN個の和の最大値】
今回はpaiza 累積和メニューセクショ2【連続する N 個の和の最大値】を解説します。 n個の整数の要素からなる配列aがあり、その中で連続する k個の整数の和が最大の値はいくつか?を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によ ...
[Ruby|Python]paiza 累積和メニュー1 【区間の和】
今回はpaiza 累積和メニューセクション1【区間の和】を解説します。 セクション1は、累積和から区間和を求める問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によるデータ取得2 [Ruby] 標準入力によるデータ取得3 [Ruby] 標準出力(データを任意に整形して出力する) [R ...
paiza 練習問題解説
[Ruby|Python]paiza 累積和メニュー5 【二次元累積和】
今回はpaiza 累積和メニューセクショ5【二次元累積和】を解説します。 整数の要素をもつ、h行 w列の二次元配列aの、左上の要素をa[sy][sx], 右下の要素をa[gy][gx]としたときに出来る長方形の区間和を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取 ...
[Ruby|Python]paiza 累積和メニュー4 【区間内の個数 (文字列)】
今回はpaiza 累積和メニューセクショ4【区間内の個数(文字列)】を解説します。 n文字の文字列strの、任意の区間内の"b"の数はいくつか?を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によるデータ取得2 [Ruby] 標準入力 ...
[Ruby|Python]paiza 累積和メニュー3 【区間内の個数】
今回はpaiza 累積和メニューセクショ3【区間内の個数】を解説します。 n個の整数の要素からなる配列aがあり、任意の区間内の偶数の数はいくつか?を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によるデータ取得2 [Ruby] 標準入 ...
[Ruby|Python]paiza 累積和メニュー2 【連続するN個の和の最大値】
今回はpaiza 累積和メニューセクショ2【連続する N 個の和の最大値】を解説します。 n個の整数の要素からなる配列aがあり、その中で連続する k個の整数の和が最大の値はいくつか?を出力する問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [アルゴリズム(Ruby)]線形探索法 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によ ...
[Ruby|Python]paiza 累積和メニュー1 【区間の和】
今回はpaiza 累積和メニューセクション1【区間の和】を解説します。 セクション1は、累積和から区間和を求める問題です。 本記事で使用しているアルゴリズムやメソッドについて 解答例で使っているアルゴリズムやメソッドについて、下記の記事で詳しく解説していますので参考にしてみて下さい。 [アルゴリズム(Ruby)]累積和 [Ruby] 標準入力によるデータ取得1 [Ruby] 標準入力によるデータ取得2 [Ruby] 標準入力によるデータ取得3 [Ruby] 標準出力(データを任意に整形して出力する) [R ...
Ruby 基本操作
[Ruby] オブジェクト指向プログラミング2(クラスの継承)
こんにちは!じゃいごテックのあつしです。 オブジェクト指向プログラミング第2弾はクラスの継承についてご紹介します。 継承は共通の性質を持ったオブジェクトに対して使われます。例えば、犬、猫、兎というクラスを作るときに共通の性質を哺乳類などとしてスーパークラスで定義(汎化)して共通化し、それぞれの特徴はそれぞれのクラスで定義(特化)する手法です。 クラスの継承 クラスは、あるクラス(スーパークラス・親クラス)の機能を引き継いだクラス(サブクラス・子クラス)を定義することができます。 前回、Appleクラスを定 ...
[Ruby] オブジェクト指向プログラミング1(クラスの基本)
こんにちは!じゃいごテックのあつしです。 Rubyでプログラミングの基礎を学習した後は、アプリ開発などに挑戦するかと思いますが、その際、オブジェクト指向プログラミングが必要になってきます。 最初は少し難しく感じるかもしれませんが、慣れてくると(ある程度)自然にオブジェクト指向で考えて書けるようになってきます。 Rubyもオブジェクト指向プログラミング言語ですので、私が説明できる範囲の基本的なことを紹介していきたいと思います。 オブジェクト指向プログラミングとは オブジェクト指向プログラミングとは、プログラ ...
こんにちは!じゃいごテックのあつしです。 paizaなどの競技プログラミングでは標準入力でデータ受け取って、標準出力で処理結果を回答します。 Rubyにはいくつか標準出力メソッドが用意されていますが、当ブログでは基本的にpメソッド・putsメソッドを使って解説していきます。 標準入力とは 実行されているプログラムがデータを受け取る入力元のことです。キーボードやファイルからのデータ入力と思っておけばOK! 文字列で渡されるので、数値として扱うには文字列型から数値型への変更が必要です。 標準出力とは プログラ ...
こんにちは!じゃいごテックのあつしです。 今回は自作メソッドの定義と呼び出しについてご紹介します。 プログラミングでは繰り返し処理や条件分岐を組み合わせて処理を書いていきますが、ある纏まった処理を使いまわしたい場合があります。 そのようなときに処理を事前に定義しておくことで、いつでも呼び出せるようになり便利です。また、処理を小分けにすることで、デバッグも楽になります。 Rubyでは「メソッドを定義する」と言いますが、他のプログラミング言語では「関数を定義する」と言われることもあります。 メソッドの定義と呼 ...
こんにちは!じゃいごテックのあつしです。 今回はプログラミングの基本動作「逐次」「分岐」「反復」のうちのひとつ、反復(繰り返し処理)をご紹介します。 また、一緒に覚えておくと便利な機能についてもご紹介します。 決まった回数・範囲で繰り返す timesメソッド 整数.times do |変数| 処理 end 0 から指定した回数 - 1 までカウントアップしながら繰り返し処理を行います。変数は省略可能です。 # 0,1,2 とカウントアップしながら3回繰り返す 3.times do |n| p "Hel ...