티스토리 뷰

백준

백준 소스코드 [C++] 10799 쇠막대기

Hani_Levenshtein 2020. 8. 19. 00:08

https://www.acmicpc.net/problem/10799

 

10799번: 쇠막대기

여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저�

www.acmicpc.net

백준 소스코드 [C++] 10799 쇠막대기

#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main() {
	string xx;
	getline(cin, xx);
	int sum = 0;
	stack<char> ss;
	for (int i = 0;i < (int)xx.length();i++) {
		if (xx[i] == '(') ss.push(xx[i]);
		else if (xx[i] == ')') {
			
			if (xx[i-1] == ')') {
				ss.pop();
				sum = sum + 1;
			}
			else if (ss.top() == '(') {
			ss.pop();
			sum = sum + ss.size();
		}
		}
	}
	cout << sum;
	return 0;
}
댓글