🐎

【AtCoder】初心者向け!Rubyで解く「Welcome to AtCoder」:アカウント登録から解答まで【PracticeA】

2024/09/17に公開

こんにちは!

今日は、プログラミング初心者でも理解できるように解説をするので、
一緒に AtCoder の初歩的な問題「Welcome to AtCoder」を Ruby で解いてみましょう。

AtCoderはプログラミングのスキルアップに最適なサイトです。
アカウントの登録方法から、実際にコードを提出する手順まで、ゆっくりと解説していきますので、安心して進めてくださいね。

🌟 AtCoderって何?

まずは、AtCoderについて簡単にご紹介します。

AtCoder は、日本発のオンライン競技プログラミングプラットフォームです。
さまざまな難易度の問題が揃っており、プログラミングの練習やアルゴリズムの学習に最適な環境です。

🚪 アカウント登録の手順

新しい世界への一歩を踏み出しましょう!
まずは、AtCoderのアカウントを作成します。

  1. AtCoder公式サイト にアクセス:https://atcoder.jp/

  2. ページ右上の「Sign In」をクリックし、「新規登録」を選択。

  3. 必要な情報を入力します。

    • ユーザー名 :半角英数字で好きな名前を入力。

    • メールアドレス :有効なメールアドレスを入力。

    • パスワード :安全なパスワードを設定。

  4. 利用規約に同意し、「登録」ボタンをクリック。

  5. 登録したメールアドレスに届いた確認メールのリンクをクリックして、登録完了です。

アカウント登録は無料で、いつでも解除できますのでご安心ください。

📝 「Welcome to AtCoder」問題に挑戦!

問題文

さあ、いよいよ問題に挑戦です。
まずは問題文をしっかり読みましょう。

整数 A (1 ≤ A ≤ 100)
整数 B, C (1 ≤ B, C ≤ 100)
文字列 S
A + B + C の計算結果と、文字列 S を、空白区切りの1行で出力してください。

入力形式

A
B C
S

出力形式

(A + B + C) S

サンプル入力

1
2 3
test

サンプル出力

6 test

🛠 解き方のステップ

初心者の方でも分かりやすいように、解き方をステップごとに解説します。

ステップ1:入力を受け取る

整数 A の取得

a = gets.to_i
  • gets は標準入力から一行を読み込みます。

  • to_i はその文字列を整数に変換します。

整数 B と C の取得

b, c = gets.split.map(&:to_i)
  • gets で二行目を読み込みます。

  • split は文字列を空白で区切り、配列にします。

  • map(&:to_i) で配列内の各要素を整数に変換します。

配列として取得しているので、更に分解するとこうなります。
b_c = gets.split.map(&:to_i)
b = b_c[0]
c = b_c[1]
  • b_c[0]b_c[1] でそれぞれの整数を取り出します。

文字列 S の取得

s = gets.chomp
  • gets で三行目を読み込みます。

  • chomp は末尾の改行文字を削除します。

ステップ2:計算を行う

sum = a + b + c
  • 3つの整数の合計を計算します。

ステップ3:出力する

puts "#{sum} #{s}"
  • puts は指定した内容を出力し、改行します。

  • #{} :文字列内に変数を埋め込みます。

  • "#{sum} #{s}" で合計と文字列をスペースで区切って表示します。

理解できた方向け

ステップ2を省略して、まとめて書くこともできそうですよね~

puts "#{a + b + c} #{s}"

他の方法として、各要素を配列に入れてjoinメソッドで文字列を結合し、フォーマットする方法もあります。

puts [a + b + c, s].join(' ')

💻 完成したコード

以下が完成したコードです。

a = gets.to_i
b, c = gets.split.map(&:to_i)
s = gets.chomp
sum = a + b + c
puts "#{sum} #{s}"
コメント付きコード
# 一行目から整数aを読み込む
a = gets.to_i

# 二行目から整数bとcを読み込む
b, c = gets.split.map(&:to_i)
# b_c = gets.split.map(&:to_i)
# b = b_c[0]
# c = b_c[1]

# 三行目から文字列sを読み込む
s = gets.chomp

# a, b, cの合計を計算する
sum = a + b + c

# 結果を出力する
puts "#{sum} #{s}"

🔍 コードの解説

  • gets.to_i :標準入力から文字列を取得し、整数に変換します。

  • splitmap(&:to_i) :空白で区切られた複数の入力を整数の配列として取得します。

  • chomp :入力の末尾に含まれる改行コードを削除します。

  • puts :結果を出力します。

📝 入力例での動作確認

入力例

1
2 3
test

コードの実行結果

6 test

期待通りの出力になりましたね!

🚀 コードを提出しよう

提出手順

  1. AtCoderの問題ページにアクセス:Welcome to AtCoder - Practice

  2. Submit(提出)」タブをクリック。(問題ページ下部でも可)

  3. 言語を「Ruby (2.7.1)」に設定。

  4. コードを入力または貼り付け。

  5. Submit(提出)」ボタンをクリック。

結果の確認

提出後、少し待つと結果が表示されます。
AC (Accepted) と表示されていれば正解です!

📚 AtCoderの活用法

  • 練習問題を解く :難易度別に多数の問題があるので、どんどん挑戦してみましょう。

  • コンテストに参加 :定期的に開催されるコンテストで腕試し!

  • 他の人の解答を見る :コンテスト終了後に他の人のコードを見て学びましょう。

🏁 まとめ

ここまでお読みいただきありがとうございます!
今回は、AtCoderの「Welcome to AtCoder」をRubyで解く方法を解説しました。
最初の一歩を踏み出すのは少し勇気がいるかもしれませんが、その一歩が大きな成長につながります。

これからも一緒にプログラミングを楽しんでいきましょう。
それでは、また次の記事でお会いしましょう!

Discussion