はじめに
Qiitaで見つけた以下の記事が面白そうです。
上記10問を解いて、プログラミングコンテストであるAtcoderのコンテストに参加してみようと思い立ったので、まずは環境構築からチュートリアル問題までやってみます。
Visual Studio Codeの取得
AtCoderの問題を見ながらプログラムを書く環境が必要になります。Visual Studio Codeが軽量で使いやすいと思います。 私のPCはUbuntuです。MicrosoftがUbuntu用にdebパッケージを提供しています。 以下の公式ページからパッケージを取得して、インストールします。 (debパッケージをクリックするだけでOKです)
ruby2.3.xのインストール
AtCoderの指定はruby2.3.3なので、2.3系をインストールします。
$ sudo apt install ruby
バージョンを確認します。
$ ruby -v ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
ひとまず2.3系なので良しとします。
チュートリアル問題を解いてみる
問題
A - はじめてのあっとこーだー(Welcome to AtCoder)
rubyで解いてみることにします。
キーボードからの入力
gets
メソッドを使う。
文字列の末尾の改行を取り除いた新しい文字列を返す
str.chomp
メソッドを使う。
map(&:to_i)
について
以下を参照。
イメージとしては次のような感じです。 1. map(& ) はブロック map{|x| } に展開 2. その中身は :to_s のメソッド .to_s
その結果 arr.map(&:to_s) は以下と同じことになります。
arr.map{|x| x.to_s}
実装
practice/practice.rb
として保存。
# 整数a a = gets.to_i # 整数b,c スペース区切り b,c = gets.chomp.split(" ").map(&:to_i) # 文字列s s = gets.to_s # 出力 print("#{a + b + c} #{s} \n")
デバッグ
irbを起動してデバッグする。
$ ruby practice/practice.rb 1 2 3 test 6 test
入力例その2。良さそうです。
$ ruby practice/practice.rb 72 128 256 myonmyon 456 myonmyon
提出
コードが書けたので提出します。
まとめ
ということで本エントリでは、環境構築からAtCoderのチュートリアル問題を解くまでを記載しました。これから、Qiita記事にある10問を解いていってみたいと思います!