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 |
Tags
- Open API
- 튜플
- 가사 검색
- 트라이 #trie #알고리즘
- trie
- Tistory
- 불량 사용자
- 보행자 천국
- 징검다리 건너기
- pycon
- bulk update
- 프로그래머스
- 크레인 인형뽑기 게임
- 티스토리
- CleanCode
- 카카오 인턴
- 알고리즘
- jdbc
- 티스토리 open api
- 트라이
- Spring Boot
- 호텔 방 배정
- Python
Archives
- Today
- Total
택시짱의 개발 노트
[프로그래머스] 올바른 괄호의 갯수 본문
링크
https://programmers.co.kr/learn/courses/30/lessons/12929?language=cpp
코딩테스트 연습 - 올바른 괄호의 갯수 | 프로그래머스
올바른 괄호란 (())나 ()와 같이 올바르게 모두 닫힌 괄호를 의미합니다. )(나 ())() 와 같은 괄호는 올바르지 않은 괄호가 됩니다. 괄호 쌍의 개수 n이 주어질 때, n개의 괄호 쌍으로 만들 수 있는 모든 가능한 괄호 문자열의 갯수를 반환하는 함수 solution을 완성해 주세요. 제한사항 괄호 쌍의 개수 N : 1 ≤ n ≤ 14, N은 정수 입출력 예 n result 2 2 3 5 입출력 예 설명 입출력 예 #1 2개의 괄호쌍으로 [ (())
programmers.co.kr
풀이
올바른 괄호의 갯수를 찾는 문제이다.
올바른 괄호가 되기 위해서는 (의 갯수가 항상 )갯수보다 많거나 같아야 올바른 괄호가 될수 있다.
#include<iostream>
#include<vector>
#include<algorithm>
#include<queue>
#include<string>
#include<set>
#include<map>
#include<cstring>
#include<functional>
#define SIZE 1010
using namespace std;
typedef long long int ll;
const int INF = 2000000000;
int res = 0;
void dfs(int left, int right, int cnt, int n) {
if (left < right || left > n || right > n)
return;
if (cnt == n * 2) {
res++;
return;
}
dfs(left + 1, right, cnt + 1, n);
dfs(left, right + 1, cnt + 1, n);
}
int solution(int n) {
dfs(1, 0, 1, n);
int answer = res;
return answer;
}
반응형
'알고리즘' 카테고리의 다른 글
[백준] 14500번 - 테트로미노 (0) | 2020.02.23 |
---|---|
[백준] 12100번 - 2048 (Easy) (0) | 2020.02.19 |
[프로그래머스] 스티커 모으기(2) (0) | 2020.02.12 |
[백준] 2169번 - 로봇 조종하기 (0) | 2020.02.07 |
[프로그래머스] 정수 삼각형 (0) | 2020.02.07 |
Comments