Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 소수
- BOJ
- 완전탐색
- 삼성 기출
- 브루트포스
- 구현
- 동적 계획법
- 해커랭크
- 스택
- hackerrank
- 에라토스테네스의 체
- dynamic programming
- Algorithm
- 잠실
- 다이나믹 프로그래밍
- BFS
- 백트래킹
- 맛집
- SWEA
- 시뮬레이션
- koitp
- dfs
- 백준
- 삼성 SDS 대학생 알고리즘 특강
- 그리디
- PS
- DP
- sw expert academy
- C++
- 알고리즘
Archives
- Today
- Total
펭로그
[C++] 백준 BOJ 9012 괄호 본문
문제링크 : https://www.acmicpc.net/problem/9012
1. 열린 괄호의 갯수 == 닫힌 괄호의 갯수 가 성립해야한다.
2. ( 가 나올때마다 카운트를 증가시키고 ) 이 나올때마다 카운트를 감소시켜 최종 카운트가 0이 되어야 한다.
3. 닫힌 괄호가 먼저 나오면 안된다. ())(() 라던지 ))()(( 의 상황이 나오면 안된다는 뜻 (20~21번째 줄 조건시 break)
심화문제로 BOJ 10799번 쇠막대기 문제가 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | // BOJ 9012 괄호 #include <bits/stdc++.h> using namespace std; int main() { // freopen("../input.txt", "r", stdin); int T; cin >> T; while(T--){ string str; cin >> str; int cnt = 0; for(int i = 0; i < str.size(); i++){ if(str[i] == '(') cnt++; else cnt--; if(cnt < 0) break; } cout << (cnt == 0? "YES\n" : "NO\n"); } return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] 백준 BOJ 1717 집합의 표현 (시간초과 해결) (0) | 2018.07.31 |
---|---|
[C++] 백준 BOJ 1966 프린터 큐 (0) | 2018.07.31 |
[C++] 삼성 SDS KOITP 오래된 계산기 (시간초과) (0) | 2018.07.23 |
[C++] 삼성 SDS KOITP 큰수만들기 (0) | 2018.07.22 |
[C++] 삼성 SDS KOITP 보물찾기 (0) | 2018.07.21 |
Comments