yuuki blog

プログラミング をアプトプットしています。

Ruby

Ruby 二次元配列の最大値と最小値を求める

下記のようなテーブルがあります。 a b c d ... 1日目 12 25 46 10 20 2日目 27 93 17 39 26 3日目 63 72 53 7 92 4日目 32 54 37 98 6 各カラムの最大値と最小値を求めます。 テーブルは配列で入力します。(例)12 25 46 10 20 num = [] max_array = [] low_…

Ruby 食事カロリーを計算

複数人の食事のカロリーを計算するプログラムです。 条件 複数人数えることができます。 各料理は100gあたりのカロリーを入力します。 一人づつ各料理の食べた量(g)を順番に入力します。 (例)一番目が300g,2番目が400g,3番目が200g =>"300 400 200" col_su…

Ruby ポーカーゲーム

ポーカーのルール n回手札を交換できます。 ジョーカーを含めない52枚から構成されます。 同じ札は入りません。 以下の順番に役が出力されます。 loyal_straight_flash straight_flash four Card full house flash straight three card two pair one pair no…

Ruby 損益分岐点売上高と利益率を求める(P/L)

損益分岐点売上高とは 利益が出る売上金額です。 (売上高=変動費+固定費になる分岐点) 売上高とは 事業で得られたお金の全て 売上高の構成 売上 = 費用+利益 (費用 = 変動費+固定費 ) 固定費とは(営業の忙しさ、売上にかかわらず毎月かかる金額) 家賃・社員…

Ruby 1次方程式の計算

簡単な1次方程式を計算するプログラムです。 このような式のx を求める計算です a + b = c (+には +,-,*,/ のいずれが入ります。) 条件は以下の通りです a,b,cはいずれも整数です。 a,b,cのうちいずれかをxにします。 #入力例 2 * 3 = x #出力例 6 int = ge…

Ruby 複数の文字を削除する方法

ローマ字を入力して、子音のみを出力します。 ここではローマ字は小文字のみとします。 出力例 文字を入力してください hatena 子音はhtnです n =0 puts "文字を入力してください" s = gets.chomp str = ["k","s","t","n","h","m","y","r","w","g","z","d","…

Ruby 簡単な四則計算機

2つの変数が用意されていて、入力した命令に対して、以下の動作を行います。 set i a : 変数 i に値 a(b) を代入する (変数a = 1, 変数b= 2) add a :「変数 a の値 + a」を計算し、計算結果を変数 b に代入する sub a :「変数 a の値 - a」を計算し、計算結…

Ruby 完全数を判別する

完全数とは 自分自身を除く正の約数の和に等しくなる自然数のことです。 完全数の最初の3個は 6 (= 1 + 2 + 3)、28 (= 1 + 2 + 4 + 7 + 14)、496 (= 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248) です。 たとえば、N = 28 のとき、28 の約数は 1, 2, 4, 7, 14…

Ruby ポイント付与(支払い)問題

問題 プリペイドカードのポイント問題です。条件式は下記の通りです。 初めにプリペイドカードの残高と支払い回数を記述します。 プリペイドカードの残額を使うと、 10 % が ポイントとしてたまります。(1ポイント=1円) 支払う金額以上のポイントがある場合…

Ruby 文章のサイズを変更する

My#name# is#haten a#I#like #program ming#ver y#much.# を下記のように変更する方法です。 My#nam e#is#h atena# I#like #progr amming #very# much.# n,m = gets.chomp.split.map(&:to_i) str = n.times.map{gets.chomp.split.map(&:to_s)} s = str.flatt…

Ruby n進数の表示方法

n進数から10進数へ変換 puts "値は?" int = gets.chomp puts "何進数?" n = gets.to_i puts int.to_i(n) String.to_i(基数)と引数に基数を指定すると、n進数の文字列も数値に変換することができます n進数から10進数へ変換 puts "値は?" int = gets.to_i …

Ruby  特定条件のみに呼応するプログラムの作成

問題 今日の曜日を表示するコードをDateクラスを使用して記述してください。 ただし、金曜日だった場合だけ以下のように表示の内容を変えてください。 (出力内容)「今日は月曜日」「今日は金曜日だ !!!」 require "date" day = Date.today.wday if day …

Ruby 引数の基礎

問題 "晴れ" という文字列を引数で渡した時に 明日の天気は晴れです とターミナルに表示されるようなメソッドを作成する問題です。 呼び出し方:get_weather_forecast(“晴れ”) 回答 def get_weather_forecast(wizard) puts "明日の天気は#{wizard}です" end …

Ruby クラスとインスタンス

問題 class Article def initialize(author, title, content) @author = author @title = title @content = content end end こちらのコードを使い下記の結果を出力する問題です。 著者: 阿部 タイトル: Rubyの素晴らしさについて 本文: Awesome Ruby! 自分…

AWS (デプロイを自動化)

デプロイの自動化 Capistrano 「Capistrano」とは、自動デプロイツールと呼ばれるものの一種です。 ではなぜ「自動デプロイツール」を扱うのか、その理由について学びましょう。 自動デプロイツールのメリット 自動デプロイツールを利用することによって、デ…

AWS (Webサーバーの設定方法)

サーバーの種類 サーバには複数の種類があり、ここではクローンしたアプリケーションを起動するために必要な「Webサーバー」と「アプリケーションサーバー」について理解を深めましょう。 Webサーバー 「Webサーバー」とは、静的コンテンツのみをリクエスト…

AWS (手動デプロイ)Rails環境

EC2のサーバーに開発中のアプリケーションのコードをクローンする準備をしよう まず、アプリケーションのコードをGitHubからEC2サーバへクローンします。デプロイできるIPアドレスを持ったEC2サーバー上でアプリケーションを動かすためです。 現状、EC2サー…

Ruby  変数を使っての演算子

問題 国語が80点、英語が50点、数学が70点の場合のテストの平均点をターミナルに出力するプログラムを記述してください。 条件1:このプログラムでは各教科の点数を変数を使って定義します。条件2:出力結果は以下のようになるようにコードを書きます。 3教…

Ruby 二重ハッシュ

問題 user_data = [ {user: {profile: {name: 'George'}}}, {user: {profile: {name: 'Alice'}}}, {user: {profile: {name: 'Taro'}}}, ] 二重ハッシュから、全てのユーザーの名前(name)だけ出力されるようコーディングする問題です。 user_data.each do |u|…

Ruby (ハッシュ) キーとバリューを別々に取得する

puts hash.keys puts hash.values と実行した際にキーとバリューを別々に配列から、取得する問題です。 hash = {one: 1, two: 2, three: 3} puts hash.keys puts hash.values hash = { キー: 値} puts hash.keysでキー(この場合英数)を取得し、puts hash.val…

Ruby 成績管理アプリケーションの作成

問題 以下の仕様を満たすアプリケーションを作成しましょう。また、注意書きを確認し、雛形を使用して実装する為です。 仕様 ・実行すると [1] : 点数を登録する, [2] : 点数を確認する, [3] : 終了する という選択肢を表示し、ユーザーに入力を求め、その入…

Heroku(ユーザー認証の導入方法)

Basic認証 Basic認証とは、HTTP通信の規格に備え付けられている、ユーザー認証の仕組みのことです。サーバーとの通信が可能なユーザーとパスワードをあらかじめ設定しておき、それに一致したユーザーのみが、Webアプリケーションを利用できるようにします。 …

Ruby if else No.3

問題 メソッドに3つの整数a b cを与えます。・「aとbの差が1」または「aとcの差が1」であり、かつ「bとcとの数値の差が2以上」の場合はTrue・それ以外はFalseと出力するメソッドを作る問題です。 出力例: close_far(1, 2, 10) → True close_far(1, 2, 3) → …

Ruby 閏年問題

問題 西暦の年数および月を入力し、その月の日数を求めるプログラムを書きます。その場合、閏年について考慮する必要があります。閏年は以下の判断基準で決まります。 ①その西暦が4で割り切れたら閏年である②ただし、例外として100で割り切れる西暦の場合は…

Ruby API問題(2)

問題.1 文字列"xyz"を含む任意の文字列があるとします。以下条件を満たすメソッドを作成する 問題です。 xyzの前にピリオド(.)がない場合はTrueを出力 <, sans-serif;">ピリオド(.)がある場合はFalseを出力 上記2つの条件に当てはまらない場合はFalseを…

Ruby 条件演算子

問題 3桁の正の整数を入力します。その整数の「百の位・十の位・一の位の和」について、10の倍数(0,10,20,30...)からの差が・2以内であるときは"True"・それ以外は"10の倍数との差は○です"と表示される問題です。 出力例: near_ten(117)→Truenear_ten(123…

Ruby 検索問題 binary_search

問題.1 以下の配列に任意の値が存在するかどうか、そして何番目に存在するのか、検索するコードを作成します。添字が0の要素、つまり以下の配列における「1」は「配列の0番目に存在する」と表現します。 array=[1,3,5,6,9,10,13,20,26,31 任意の値が配列内に…

Ruby API問題(2問題.1 任意の3つの数値の合計を出力するメソッドを作りましょう。 ただし、同じ数が含まれている場合は 合計にカウントされません。 出力例: lone_sum([1, 2, 3]) → 6 lone_sum([3, 2, 3]) → 2 lone_sum([3, 3, 3]) → 0)

問題 任意の3つの数値の合計を出力するメソッドを作る問題です。ただし、同じ数が含まれている場合は合計にカウントされません。 出力例 lone_sum([1, 2, 3]) → 6lone_sum([3, 2, 3]) → 2lone_sum([3, 3, 3]) → 0 自分の回答 def lone_sum(strs) sum = 0 str…

Ruby 預金システムのアルゴリズム問題

問題 銀行口座に10万円の預金残高があり、お金を引き出すプログラムを作成流問題です。 自分の解答 def withdraw(balance, amount) fee = 110 # 手数料 # 引き落とし額と残高を表示する、もしくは残高より多く引き落としたら残高不足と表示 balance = balanc…

Ruby 預金システムのアルゴリズム問題

問題 銀行口座に10万円の預金残高があり、お金を引き出すプログラムを作成流問題です。 自分の解答 def withdraw(balance, amount) fee = 110 # 手数料 # 引き落とし額と残高を表示する、もしくは残高より多く引き落としたら残高不足と表示 balance = balanc…