[過去ログ] プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
583
(6): 2017/10/25(水)20:13 ID:gieh1Z5o(1) AAS
お題
())())のように括弧のみからなる文字列が与えられるので
すべての括弧が正しく対応付けされるためには
最低で何箇所の括弧を逆向きに変更すればよいか求めよ
例えば上の例では2文字目か3文字目を変更すればよいので1を出力せよ
何文字変更しても正しく対応付けできない場合は-1を出力せよ

) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
省2
584: 2017/10/25(水)21:21 ID:/TQ9iqwZ(1) AAS
>>583 Java
外部リンク:ideone.com
585: 2017/10/26(木)00:42 ID:0Gn/TXrF(1) AAS
>>583
Ruby
外部リンク:ideone.com
586: 2017/10/26(木)07:09 ID:vEkFybta(1) AAS
>>583
外部リンク:ideone.com
C++。効率とかショートコーディングとかそういうものをかなぐり捨ててべた書き。
あってるかな?
588: 2017/10/26(木)08:35 ID:8oLfrbud(2/2) AAS
誤爆
>>583 Ruby

def calc str
return -1 if str.size.odd?
ary = optimise str.scan(/(?=.)(\(*)(\)*)/).map{|a, b| a.size - b.size}
(-ary[0] + ary[1].to_i).abs/2 + ary[0]%2
end

def optimise ary
a = ary.reject(&:zero?).chunk(&:positive?).to_a.transpose[1].map(&:sum)
return a if a.size < 3
省18
589: 2017/10/26(木)19:12 ID:MqWL4ZqL(1) AAS
>>583 ruby
外部リンク:ideone.com
590: 2017/10/27(金)22:31 ID:sfTuRN3o(1) AAS
>>583
@Mathematica

外部リンク:ideone.com
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s