X



プログラミングのお題スレ Part14
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
2019/05/18(土) 17:33:29.45ID:BWmpW4IF
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1549160513/
0981デフォルトの名無しさん
垢版 |
2019/07/28(日) 01:17:00.04ID:+ByOW8ha
お題
括弧のネストの深さの最大値を求めよ
括弧の対応が取れていない場合は-1を出力せよ


"{}" => 1
"}{" => -1
"" => 0
"{{{}{}}}{}" => 3
0984デフォルトの名無しさん
垢版 |
2019/07/28(日) 06:16:51.79ID:YNZYuVVC
>>981 Ruby

f = -> str {s = -str; (0..1.0/0).each{|i| s.gsub!('{}', '') || (break s.size.zero? ? i : -1)}}
['{}', '}{', '', '{{{}{}}}{}'].each{|e| puts "%p => %d" % [e, f[e]]}

# =>
"{}" => 1
"}{" => -1
"" => 0
"{{{}{}}}{}" => 3
0986デフォルトの名無しさん
垢版 |
2019/07/28(日) 14:44:03.09ID:NJaTvOic
>>981 Perl5

use List::Util 'max';
%h = qw({ 1 } -1);
for ('{}', '}{', '', '{{{}{}}}{}') {
 ($l, $m) = (0, 0);
 for (map{$h{$_}} split'') {
  $l += $_;
  $m = max $l, $m;
  last if $l < 0;
 }
 $m = -1 if $l;
 print "'$_' => $m\n";
}

実行結果
$ perl 14_981.pl
'{}' => 1
'}{' => -1
'' => 0
'{{{}{}}}{}' => 3
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況