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頑張ろう