최종 제출 코드
n, m = map(int, input().split())
array = list(input().split())
array.sort()
mono = ['a', 'e', 'i', 'o', 'u']
stack = []
def dfs(index):
if len(stack) == n:
cnt = 0
for i in range(len(stack)):
if stack[i] in mono:
cnt += 1
if cnt > 0 and n-cnt > 1:
print(''.join(stack))
return
for i in range(index, len(array)):
stack.append(array[i])
dfs(i+1)
stack.pop()
dfs(0)
◼ 조합 만들기 문제와 유사
stack의 길이가 n과 같아졌을 때 조건(모음이 1개 이상, 자음이 2개 이상)을 만족하는지 확인