본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 10799/c++] 쇠막대기

by tokkiC 2022. 7. 7.

분명 의도는 스택을 이용해서 푸는 문제이지만

단순히 수만 세고 요소의 출력이 없었기에 쉽게 앞의 요소를 카운트와 이전 요소를 참조하도록 하여

풀 수 있는 문제였다 

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

 

10799번: 쇠막대기

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

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;


int main(){
	
	int cnt=0;
	char pre=0;
	int ans=0;
	string s;
	getline(cin, s);
	
	for(int i=0; i<s.size(); i++){
		if(s[i]=='('){
			cnt++;
		} else {
			cnt--;
			if(pre=='('){
				ans+=cnt;
			} else {
				ans++;
			}
		}
		pre=s[i];
	}
	cout << ans << "\n";
	
	return 0;
}

댓글