Official
A - 括弧の深さ / Depth of Parentheses Editorial
by
A - 括弧の深さ / Depth of Parentheses Editorial
by
kyopro_friends
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
「これまでに登場した ( の個数」「これまでの登場した ) の個数」を管理しながら文字列を先頭から順に見ることで、全ての位置について深さを求めることができます。
実装例 (C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin >> s;
int ans = 0, hiraku = 0, tojiru = 0;
for(char c: s){
if(c == '('){
hiraku++;
}else{
tojiru++;
}
ans = max(ans, hiraku - tojiru);
}
cout << ans << endl;
}
実装例 (Python)
S = input()
ans = 0
hiraku = 0
tojiru = 0
for c in S:
if c == '(':
hiraku += 1
else:
tojiru += 1
ans = max(ans, hiraku - tojiru)
print(ans)
posted:
last update:
