BOJ 1541紛失括弧
6402 ワード
https://www.acmicpc.net/problem/1541
2秒、128 MBメモリ
input :式は、「0」から「9」、「+」および「-」で構成され、最初の文字と最後の文字は数値です. output : 正解 を出力
条件:歳の俊適はかっこをつけて、この値を最低に下げようとした. 一番小さいものを作るにはどうすればいいのでしょうか...
プラスマイナスを優先し、マイナスに移動します.
'-'を使用してグループ化した後.
数字の形は必ずしも「数字+数字」ではありません.
「数字+数字+数字」などは何度も出てくる可能性があるので、グループ化するときにリストに並べて入れましょう.
「+」付きの数字をすべて加えてtemp配列に入れます.
最後に前から外せばいいです
2秒、128 MBメモリ
input :
条件:
プラスマイナスを優先し、マイナスに移動します.
'-'を使用してグループ化した後.
数字の形は必ずしも「数字+数字」ではありません.
「数字+数字+数字」などは何度も出てくる可能性があるので、グループ化するときにリストに並べて入れましょう.
「+」付きの数字をすべて加えてtemp配列に入れます.
while data:
now = data.pop(0)
if '+' in now:
in_temp = list(map(int, now.split("+")))
ret = in_temp.pop(0)
while in_temp:
a = in_temp.pop(0)
ret += a
temp.append(ret)
else:
temp.append(int(now))
それからまた作るときは、1つの値段を減らして、もう1つ作って、最後に前から外せばいいです
import sys
data = list(sys.stdin.readline().rstrip().split("-"))
temp = []
while data:
now = data.pop(0)
if '+' in now:
in_temp = list(map(int, now.split("+")))
ret = in_temp.pop(0)
while in_temp:
a = in_temp.pop(0)
ret += a
temp.append(ret)
else:
temp.append(int(now))
ans = temp.pop(0)
while temp:
now = temp.pop(0)
ans -= now
print(ans)
日に日に荒れていく感じではありませんが、まずは何かをして、何かを落とすので仕方ありません.Reference
この問題について(BOJ 1541紛失括弧), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-1541-잃어버린-괄호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol