https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
#include<iostream>
#include<string>
using namespace std;
int main() {
string str;
getline(cin, str);
int size = str.length();
int i = 0, cnt = 0;
int answer = 0;
while (i < size) {
if (str[i] == ')') {
if (str[i - 1] == ')') { //막대기 끝났을 때
answer += 1;
cnt -= 1;
}
else {
cnt--;
answer += cnt; //레이저
}
}
else { //막대기 추가
cnt++;
}
i++;
}
cout << answer;
}
'Study > 백준' 카테고리의 다른 글
[백준] 11724번: 트리의 부모 찾기(C++) (0) | 2022.04.10 |
---|---|
[백준] 1676번: 팩토리얼 0의 개수 (0) | 2022.03.30 |
[백준] 1158번: 요세푸스 문제 (0) | 2022.03.29 |
[백준] 2004번: 조합 0의 개수 (0) | 2022.03.29 |
[백준] 4949번: 균형잡힌 세상 (C++) (0) | 2022.03.25 |