コンテンツへスキップ

【Ruby基礎】AtCoder Beginner Contest 068 A – ABCxxx

INDEX

■はじめに

Rubyの基礎的な問題をたくさん解くことで基本的な考え方やメソッドの使い方を定着させたい。
基本的にはAtCoderというプログラミングコンテスト(競技プログラミング)の過去問を使う。(AtCoderは難易度が分かれており、難易度の低いA問題かB問題を解いていく)

(5/23時点の方針)
メソッドの切り分け方や値の受け渡しを練習するために、コード長の短さについては気にせずに書くことにする。

(2022/10/17時点の方針)
しばらくはB問題を小さい番号の方からやっていく。たまにA問題もやるかも。

■問題

●出典

AtCoder Beginner Contest 068のA問題
https://atcoder.jp/contests/abc068/tasks/abc068_a

●問題文

このコンテスト、つまり AtCoder Beginner Contest の略称は、アルファベット 3 文字で ABC となっております。

そして、ABC のうち特定の回を指すときは、何回目の ABC かを 3 桁の数字で表して後ろに付け、ABC680 のように呼びます。例えば ABC680 は、680 回目の ABC のことを指します。

では、N 回目の ABC はどのように表すでしょうか、これを出力するプログラムを作成してください。

●制約

  • 100≦N≦999

●入力

入力は以下の形式で標準入力から与えられる。

N

●出力

N 回目の ABC の略称を出力する。

■回答

●愚直に書く

標準入力をとって、文字列ABCと繋げば完了か?

n = gets.chomp
puts "ABC" + n

通った!

●メソッド化して書く

メソッドを作る練習のために、あえてそういう書き方をする。

今回は割愛。

●リファクタリング/別アプローチ

短くするなら変数を使わないくらいか。

puts 'ABC'+gets.chomp

通った!

●他の方の回答例

そうか、今回の場合は一発で出力なので、最後にputsするからchompは無くても大丈夫なのか。

●出てきたメソッド等

公式リファレンスを見る訓練。

■振り返りなど

chomp、途中で何か処理を加えていく場合には必要な場合もあるけど、不要な時は不要とジャッジできるようになっておきたい。