본문 바로가기
SWE/코테

[성실코딩 19일차] 백준 #10799 쇠막대기 / 스택

by S나라라2 2018. 11. 8.
반응형

너무 오랜만에 백준을 풀지만 오늘도 건강한 정신상태가 아니당 너므 졸리다아아ㅏㅇ아ㅏㅏㅏ

게으름 코딩입니다ㅠ


이 문제 재밌음!!! 쉬움ㅋㄷ



#include <iostream>
#include <stack>
#include <string>

using namespace std;

int main() {

	stack<char> s;

	string str;
	cin >> str;
	
	int cnt = 0; // 막대기 개수

	s.push(str[0]);
	for (int i = 1; i < str.length(); i++) {
		switch (str[i])
		{
		case '(':
			s.push(str[i]);
			break;
		case ')':
			if (str[i-1]=='(') { // 레이저인 경우
				s.pop(); // 레이저 '('빼줌
				cnt = cnt + s.size();
			}
			else { // 막대기의 끝부분인 경우
				s.pop(); // 막대기 '('부분 꺼내기
				cnt++;
			}
		}
	}

	cout << cnt;

	return 0;
}
반응형