주어진 알파벳들을 조합해 정렬하는 문제입니다.
모음이 최소 하나, 자음이 최소 두개인 것을 인지하고 풀어야합니다.
정규 표현식을 이용해 문제를 풀 수도 있어 첨부합니다.
from itertools import combinations
answer = []
l, c = map(int, input().split())
for com in combinations(list(map(str, input().split())), l):
cnt = 0
for ch in com:
if ch in "aeiou":
cnt += 1
# 모음이 최소 하나, 자음이 최소 두개
if cnt >= 1 and l - cnt >= 2:
answer.append("".join(sorted(com)))
for ans in sorted(answer):
print(ans)
from itertools import combinations
import re
answer = []
l, c = map(int, input().split())
for com in combinations(list(map(str, input().split())), l):
# 모음만 저장
arr = re.findall("[aeiou]", "".join(com))
if len(arr) >= 1 and l - len(arr) >= 2:
answer.append("".join(sorted(com)))
for x in sorted(answer):
print(x)