大きな数値を 3 けたごとにカンマ区切りで出力 (paizaランク C 相当)
前回正答できなかった問題に再挑戦しました。
誤答
practice.rb
# 入力の受け取り
input = gets.chomp.to_s
# 出力用変数の定義
output = ""
# 出力用変数に3桁ずつ区切った文字列とカンマを追加
input.length / 3.times do |i|
output += "#{input[i*3,3]},"
end
# 末尾のカンマを除去して出力
puts output.chomp(",")
input.length / 3
が正しく評価されないようです。
正答
practice.rb
# 入力の受け取り
input = gets.chomp.to_s
# 出力用変数の定義
output = ""
# 出力用変数に3桁ずつ区切った文字列とカンマを追加
(input.length / 3).times do |i|
output += "#{input[i*3,3]},"
end
# 末尾のカンマを除去して出力
puts output.chomp(",")
input.length / 3
を()
で囲うことで正しく評価されるようです。
count = input.length / 3
としてからcount.times do |i|
とする方がより確実かもしれませんね。