🤖

🤖

:gijutsu_burogu:

🍺Rubyでプログラミングコンテストをやるときの標準入力、標準出力

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

はじめに

インターン選考でプログラミングテストがあったのだがボコボコにやられた。 Rubyで書いたのだがRailsしか書かないので標準入出力すら慣れておらず手間取った。 悔しいので、競プロをかじろうと思った。 c++が定番らしいが書いてて楽しくないので、Rubyで始めて高みを目指すようになったらc++に乗り換えようと思う。 Rubyで一行でスリムに書けるとありえん気持ちいい。

標準入力

標準入力とはターミナルから入力するアレのことである。 chopは改行文字を取り除くメソッド splitは一文字づつ分けるメソッド to_iはIntegerに型変換するメソッド mapはマップするメソッド

# ---- 入力したいもの----
N
a1
a2
.
.
aN
# -------------------


n = gets.chop.to_i
a = []
n.times { a << gets.to_i }
# ---- 入力したいもの----
X Y Z
# -------------------


x, y, z = gets.chop.split.map(&:to_i)
# ---- 入力したいもの----
a1 a2 .... aN
# -------------------


a = gets.chop.split.map(&:to_i)
# ---- 入力したいもの----
N
a1  b1
a2  b2
.   .
.    .
aN  bN
# -------------------
n = gets.chop.to_i
a = []
b = []
n.times do
  line = gets.chop.split.map(&:to_i)
  a << line.shift
  b << line
end

標準出力

基本的にputsで事足りると思う。 "#{}"で変数を埋め込める、

var = "fuga"
puts "hoge#{var}"

# ----出力----
# hogefuga