문제 링크 : https://www.acmicpc.net/problem/10799
이 문제는 기말고사 마지막 시험에서 시간이 남았을 때 심심해서 푼 문제인 만큼, 어렵지 않다.
문제 풀이
문제에서는 레이저로 절단된 쇠막대기의 조각 개수를 묻는 문제이다.
단순하게 기존 쇠막대기 개수에 각 레이저들이 자른 쇠막대기의 개수들을 다 더해주기만 하면 된다. 그 방법으로 "()" 앞에 있는 "("개수에서 ")"개수를 빼주는 식으로 셌다. 또 기존 쇠막대기 개수는 "()"에 포함되는 ")"를 제외한 ")"의 개수를 세주었다.
코드
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
int R=0,N,d=0,n=0,i;
string str;
cin>>str;
N = str.length();
for(i=0;i<N;i++)
{
if(str[i]=='(')
{
R++;
}
else
{
if(str[i-1]=='(')
{
R --;
d += R;
}
else
{
R--;
n++;
}
}
}
cout<<n+d;
}
'정보 > 백준 문제풀이' 카테고리의 다른 글
백준 2628번 종이자르기 C++ (1) | 2023.12.23 |
---|---|
백준 2302번 극장 좌석 C++ (1) | 2023.12.17 |
백준 17615번 볼 모으기 C++ (1) | 2023.12.17 |
백준 1244번 스위치 켜고 끄기 C++ (1) | 2023.12.16 |
백준 2178번 미로 탐색 C++ (1) | 2023.12.16 |