[PS][Baekjoon] 10799_쇠막대기

dong_min_god·2023년 1월 30일
0

PS-Baekjoon

목록 보기
4/4

<문제 접근>

  • 레이저를 만났을 때 스택에 쌓여있는 막대기 갯수를 총 갯수에 더해준다.
  • 잘려나가고 남은 나머지 부분은 총 갯수에 1을 더해준다.



<코드>

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

using namespace std;

void check_str(string str) {
	int sum = 0;
	int str_size = str.length();
	stack<int> s;

	for (int i = 0; i < str_size; i++) {
		if (str[i] == '(') s.push(str[i]);
		else if (str[i] == ')' && str[i - 1] == '(') {
			s.pop();
			sum += s.size();
		}
		else {
			sum++;
			s.pop();
		}
	}
	cout << sum;
}

int main()
{
	string input;
	cin >> input;
	check_str(input);

	return 0;
}
profile
코린이 탈출 기원

0개의 댓글