블로그 언저리인 무언가
[백준/BOJ] 10779 쇠막대기 본문
728x90
문제 : 10779 쇠막대기
쇠막대와 레이저의 위치가 괄호로 주어졌을 때
잘린 막대기의 총개수를 출력하는 문제이다.
'(' 괄호가 들어오면 겹쳐진 쇠막대기의 개수를 1개 늘리고
')' 괄호가 들어오면 레이저 거나 막대가 끝이 난 것이므로
막대기의 개수를 줄이고 앞의 괄호를 판단해
레이저인지 체크한 후 1 더하거나 겹쳐진 막대의 개수만큼 더한다.
Code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
ll ans=0, cnt=0;
string S;
cin >> S;
for (int i=0;i<S.size();i++){
if (S[i]=='(')
cnt++;
if (S[i]==')'){
cnt--;
if (S[i-1]=='(')
ans+=cnt;
if (S[i-1]==')')
ans++;
}
}
cout << ans;
return 0;
}
728x90
'Programming > BOJ' 카테고리의 다른 글
[백준/BOJ] 1057 토너먼트 (0) | 2020.09.21 |
---|---|
[백준/BOJ] 14889 스타트와 링크 (0) | 2020.09.21 |
[백준/BOJ] 1235 학생 번호 (0) | 2020.09.21 |
[백준/BOJ] 1668 트로피 진열 (0) | 2020.09.19 |
[백준/BOJ] 1058 친구 (0) | 2020.09.19 |
Comments