철학하는 개발자

있는 것은 있고, 없는 것은 없다.

2024/01/02 2

[백준 04889] 안정적인 문자열 [Java]

문제 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 여기서 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하려고 한다. 안정적인 문자열의 정의란 다음과 같다. 빈 문자열은 안정적이다. S가 안정적이라면, {S}도 안정적인 문자열이다. S와 T가 안정적이라면, ST(두 문자열의 연결)도 안정적이다. {}, {}{}, {{}{}}는 안정적인 문자열이지만, }{, {{}{, {}{는 안정적인 문자열이 아니다. 문자열에 행할 수 있는 연산은 여는 괄호를 닫는 괄호로 바꾸거나, 닫는 괄호를 여는 괄호로 바꾸는 것 2가지이다. 입력 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가..

[SWEA 19003] 팰린드롬 문제 [C/C++]

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 길이가 M인 서로 다른 문자열 N개가 주어졌을 때, 문자열을 결합하여 만들 수 있는 최장길이의 팰린드롬 문자열의 길이를 구하는 문제다. N, M이 각각 최대 100, 50으로 매우작아 N^2 방식으로 풀이해도 충분하다. N개의 문자열에 대해 중복되는 문자열은 없다. 따라서 팰린드롬 문자열이 만약 존재한다면 한 번만 사용 가능하다. 펠린드롬 문자열이 아닌 경우에만 벡터에 담아주자. 벡터에 담은 문자열의 갯수가 N보다 작다면, 펠린드롬 문자열이 최소 1개이상 존재한다. 따라서 위에서 언급했듯 최장 팰린드롬 문자열을 만들 때 사용하기 위해 한 번만 사용해주자..