1
0

【Ruby】paizaラーニング問題集解答(3けたごとにカンマ区切りで出力)(リベンジ)

Posted at

大きな数値を 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|とする方がより確実かもしれませんね。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0