LoginSignup
0
0

More than 3 years have passed since last update.

競技プログラミング備忘録② 配列のuniq地味にすごいなぁ・・・。

Last updated at Posted at 2020-05-03

指摘により修正2020/5/3

今日は配列のメソッドについて備忘録としてメモしておきます。
先駆者のコードをみていると目から鱗が多い。。。

push

Arrayクラス、インスタンスメソッドの中にpushがございます。
これは、配列に追加するメソッドですが、後入れといえばわかりやすいでしょうか?
[1,2]配列があった場合、3を入れると、既存の配列はそのままで[1,2,3]と格納してくれます。
簡単なメソッドで可読性が高いので愛用しています。


num = 3
ary = Array.new(num)
num.times do |i|
  ary.push(i) # [0,1,2]と格納される
end

uniq

Arrayクラス、インスタンスメソッドの中にuniqメソッドがございます。
簡単にArray → Arrayを返すメソッドです。
これは、主に重複している文字列を削除してくれるメソッドです。

このメソッドの処理速度が尋常じゃないほど早い。

繰り返し処理で同様のメソッドを実現した場合、タイムアウトしてしまうのに対して、(私の組み方に問題ありですけど)
uniqメソッドはタイムアウトしない・・・だと?
この上なく便利なメソッドなのでぜひ競技プログラミング必須ですなぁ。


num = 3
ary = []
num.times do
  ary.push('test') # pushメソッドは配列に追加するメソッドです。簡潔でわかりやすい。
end
p ary #['test','test','test']と配列に格納されています。
p ary.uniq #他のtestは消えて['test']のみ出力されます。
p ary.uniq.length #配列数なので1が出力されます。

まだまだ学ぶことが多いなぁ。

0
0
4

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
0
0