※スキルチェック問題ではありません。
規約により公式の解答コードそのままはよろしくないので、
オリジナルのコードにしています。
詳しくはコチラ
なるべくわかりやすい解説を付けました
問題4 数字の文字列操作(0埋め) (paizaランク D 相当)
0 ~ 999 の整数 n が与えられます。 n が 3 桁の数である場合には n をそのまま出力し、 n が 2 桁の数である場合には n の先頭に 0 をひとつ、 1 桁の数である場合には n の先頭に 0 をふたつ加えたものを出力してください。
- 入力される値
- 入力は以下のフォーマットで与えられます。
n 1 行目に整数 n が与えられます。 n 入力値最終行の末尾に改行が1つ入ります。 文字列は標準入力から渡されます。 
- 期待する出力
- n を 3 桁で 0 埋めしたものを出力してください。
 末尾に改行を入れ、余計な文字、空行を含んではいけません。
- 条件
- 
すべてのテストケースにおいて、以下の条件をみたします。 ・0 ≤ n ≤ 999 
- 入力例1
- 
7 
- 出力例1
- 
007 
- 入力例2
- 
123 
- 出力例2
- 
123 
解答 文字列として受け取らないとうまくいきません
#1行目の入力値(文字列)を変数に代入する 
strings = gets.chomp
#1桁の時00を追加する
  if strings.size == 1
     puts "00#{strings}"
#2桁の時0を追加する
  elsif strings.size == 2
     puts "0#{strings}"
#その他はそのまま出力する
  else puts strings
end
問題5 数字の文字列操作(時刻1) (paizaランク D 相当)
時刻を表す長さ 5 の文字列 S が “XX:XX” の形式で与えられます。入力された時刻を時と分に分け、時、分の順番で改行区切りで出力してください。
- 入力される値
- 入力は以下のフォーマットで与えられます。
S 1 行目に文字列 S が与えられます。 S S は “XX:XX” という形をしており、 “:” の左側は時を、右側は分を表します。時や分が一桁である場合、十の位は 0 で埋められます。また、 00:00 から 23:59 までの 24 時間表記を採用しています。 入力値最終行の末尾に改行が1つ入ります。 
 文字列は標準入力から渡されます。
- 期待する出力
- 入力された時刻を時と分に分け、時、分の順番で改行区切りで出力してください(2行出力する)。その際、入力値の十の位が 0 である場合には一の位だけ出力してください。
 末尾に改行を入れ、余計な文字、空行を含んではいけません。
- 条件
- 入力例1
- 
12:34 
- 出力例1
- 
12 34 
- 入力例2
- 
01:03 
- 出力例2
- 
1 3 
解答 (入力例1で解説)
#1行目の入力値を:(コロン)の部分で分割して変数に数値として代入する[12, 34]
strings = gets.split(':').map(&:to_i)
#出力する
puts strings
