1
2

More than 3 years have passed since last update.

【Ruby】【paiza】スキルチェック見本問題でよく使う操作メモ

Last updated at Posted at 2021-02-28

paizaのスキルチェック見本問題でよく使う操作メモ

皆さん今日もpaiza解いてますか?偉いです。僕もがんばります。

Ruby今までやったことないので、趣味がてらPaizaで勉強始めました。
いやー、ほんとにPaizaって問題集が色々あっていいですよね(中の人ではないですよ)。
スキルチェック見本問題で、Rubyでよく使う操作をまとめました。

想定読者

  • 他言語でコード書いたことある人
    • ガチ初心者は、他サイトとか見たほうがいいです。配列とはなんぞや、は他サイトで勉強してくださいな

数字の操作

改行区切りの数字を取得

array = []
while number = gets
  array << number.chomp.to_i
end

空白区切りの数字を取得

  • 普通に取得するなら
line = gets.split(' ').map(&:to_i)
  • Rubyはこういう書き方もできる!Cランクから使う機会が増えた。
# input[1,10,55]の場合
first, secound, third = gets.split(' ').map(&:to_i)
puts first  # 1

与えられたN回繰り返し処理(Fizz Buzz向け)

roopNumber = gets.chomp.to_i
i = 1
while i <= roopNumber
    print i
    i += 1
end

剰余

N = 3
if N % 3 == 0
  print "3で割り切れるよ(余りが0だよ)"
end
if N % 2 == 1
  print "2で割り切れないよ(余りが1だよ)"
end

文字列の操作

改行区切りの文字列を取得

array = []
while number = gets
  array << number.chomp
end

空白区切りの文字列を取得

line = gets.split(' ')

文字列の繰り返し処理

line = ["pen", "pineaplle", "apple", "pen"]
for word in line
  puts word
end

文字列のうち、X番目〜Y番目の範囲の文字を取得

stringNum = "123456"
output = stringNum.slice(2..5) #3番目〜6番目
print output
# 3456

文字列を1文字ずつ分割して、配列に入れる

string = 'hello'
array = string.chars
puts array
# [h, e, l, l, o]

出力

改行なし

print "改行"
print "しませんよ"
# 改行しませんよ

改行あり

puts "改行"
puts "しますよ"
# 改行
# しますよ

変数の出力(Hashもついでにメモ)

hash = { "orange" => 1, "apple" => 5 }
hash.each{|key, value|
  puts "#{key} #{value}"
}
# orange 1
# apple 5

まとめ

  • 今日もRuby頑張ろう
1
2
0

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
2