본문 바로가기
Coding Test/Problems

[codetree] 괄호 쌍 만들어주기 3 (Novice Mid / 자리 수 단위로 완전탐색)

by haerr 2024. 7. 3.

https://www.codetree.ai/missions/5/problems/pair-parentheses-3/description

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

문제

문자 '(', ')'로만 이루어진 문자열 A가 주어지면 그 문자열들 사이에서 여는 괄호와 닫는 괄호로 쌍을 이룰 수 있는 서로 다른 가지수를 구하는 프로그램을 작성해보세요. 단, 여는 괄호가 먼저 나와야 합니다.

즉, 다음과 같은 모양을 띄는 쌍의 수를 세야 합니다.
...(.....)....

 

풀이

조합을 쓰면 쉽게 사용할 수 있다.

파이썬에서 조합은 필요한 모듈을 Import하고 - from itertools import combinations as cb

cb(뽑아낼 자료, 뽑아낼 길이) -> 튜플이 반환된다.
from itertools import combinations as cb

cnt = 0

A = input()

for s in cb(A, 2):
    if s == ('(', ')'):
        cnt += 1
        
print(cnt)

 

완전탐색에서는 조합이 유용하게 사용되는 것 같다!