Language detail: Ruby
|
number of '+' ratings |
contribution for coverage |
Unsolved challenges
codes
Rubyが既に8件ありますが,久し振りに投稿. 単語間にタブが…とか細かいことは考えない. 正規表現とか,Rubyの構文とかを見直せばもっと短くなるんじゃないか?
1 2 3 4 | puts gets.gsub(/(^.| .)/){$1.upcase}
# $ echo 'LL day and night'|ruby this_answer.rb
#=> LL Day And Night
|
1 2 3 | c=0
(Time.now..Time.gm(14)).step(86400){|d|d.day==13&&d.wday==5&&(c+=1)&&p(d)}
p c
|
44byte。自分の限界の気がする。
1 | (-n=gets.to_i).upto(n){|i|puts"*"*(n-i.abs)}
|
与えられた自然数 n について、横向きで n 段のピラミッドを作ってください。 たとえば、 n に 4 が与えられた場合は以下のようなピラミッドを作ります。
4
*
**
***
****
***
**
*
与える自然数についてはリテラルで与える、標準入力で与える、引数で与えるなどは自由とします。
余力のあるものはこのプログラムを短くしてください。
※LL Future実行委員の高野光弘です。この出題は LL Future公式の出題であり、優れたものについてはLL Golfのセッションでご紹介させていただくかもしれません。ご理解の上、ご投稿ください。また、チケットは現在も発売中のほか、当日券もございます。よろしければ、メインイベントの方にもぜひご参加ください。
see: ピラミッドを作る どう書く?org
1 | n=gets.to_i*2;n.times{|i|puts"*"*(i<n/2 ?i:n-i)}
|
う。確かに。 修正して63byte
1 | s=$*[0];l=s.size-1;x=l%3+1;p s[0,x]+"."+s[x,1]+" kMGTPE"[l/3,1]
|
1024ではなく1000でいいのなら、文字列のままでもいけますよね。 ということで、引数を使って57byte
1 | s=$*[0];l=s.size;p s[0,l%3]+"."+s[l%3,1]+" kMGTPE"[l/3,1]
|
もうちょっと縮まった
1 | puts ("0"..$*[0]).grep(/^\d0*$/)
|
同じ発想でRuby
1 | "0".upto($*[0]){|$_|puts$_ if/^\d0*$/}
|
Pまで対応して正味74byte。 他の人と同じやり方。
1 | ruby -e'n=gets.to_i;k=0;b=1024;while(n>b&&k<5);n/=b;k+=1;end;print n," KMGTP"[k,1]'
|
与えられたバイト数を読みやすくしてください。読みやすくとは、いわゆる human readable な表記とします(詳しくはサンプルのコードを参考にしてください)。
与えるバイト数についてはリテラルで与える、標準入力で与える、引数で与えるなどは自由とします。
余力のあるものはこのプログラムを短くしてください。
※ LL Future実行委員の高野光弘です。この出題は LL Future公式の出題であり、優れたものについてはLL Golfのセッションでご紹介させていただくかもしれません。ご理解の上、ご投稿ください。また、LL Futureのチケットは現在も発売中です。よろしければ、メインイベントの方にもぜひご参加ください。
1 2 3 4 5 6 7 8 9 10 11 12 | b = gets.to_i
if b < 10**3
puts b
elsif b < 10**6
puts "%.1fk" % (b.to_f/10**3)
elsif b < 10**9
puts "%.1fM" % (b.to_f/10**6)
elsif b < 10**12
puts "%.1fG" % (b.to_f/10**9)
else
puts "%.1fT" % (b.to_f/10**12)
end
|
1 | s$<.re.gs /\b./,&:up
|
1.9でも1.8.6でも動かないと思いますが, 1.8.7ならこんな感じでしょうか?
1 2 | #!ruby -p
gsub /\b./,&:upcase
|
間違い。gorubyだとpが値を返すのでした。
1 | p (Ti.no..Ti.gm(2013,12,31)).st(86400).ct{|x|x.my==13&&x.w==5&&p(x)}
|
Ruby1.9用。Perlでも動くんではないかと思われます。
1 2 3 4 | $/=' ';%#;$/=~('(?{'.(', =$ )'^'_@|_
@||').'$&`,'.('/-).+`&/-'^'__@@_@@@_').'<>})');"#;(___=->(_,*__){$.=/./=~_
$><<([*?`...$&][$.]&&[*$&...?{][$.]?[*?@..$&][~(/@./=~[*$/..?@]*''+_)]+$':_)
__[$.]&&___[*__]})[*[*$<]]#"
|
goruby版
1 | p (Ti.no..Ti.gm(2013,12,31)).st(86400).ct{|x|x.my==13&&x.wy==5&&!p(x)}
|
時刻が付いてしまうのはまぁ許される? Fri Feb 13 16:31:21 +0900 2009 Fri Mar 13 16:31:21 +0900 2009 Fri Nov 13 16:31:21 +0900 2009 Fri Aug 13 16:31:21 +0900 2010 Fri May 13 16:31:21 +0900 2011 Fri Jan 13 16:31:21 +0900 2012 Fri Apr 13 16:31:21 +0900 2012 Fri Jul 13 16:31:21 +0900 2012 Fri Sep 13 16:31:21 +0900 2013 Fri Dec 13 16:31:21 +0900 2013 10
1 | p (Time.now..Time.gm(2013,12,31)).step(86400).count{|x|x.mday==13&&x.wday==5&&!p(x)}
|







technohippy #7454() [ Ruby ] Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]