๋ฐฑ์ค 1759๋ฒ ํ์ด์ฌ
import sys
input = sys.stdin.readline
l, c = map(int, input().split())
w = list(input().strip().split())
m = ["a", "e", "i", "o", "u"] # ๋ชจ์
answer = []
w.sort() # ์ฌ์ ์์ผ๋ก ์ ๋ ฌ
def back(cnt, idx):
if cnt == l: # ์ง์ ํด์ค ๋ฌธ์์ด์ ๊ฐฏ์์ ๊ฐ์์ง๋ฉด
vo, co = 0, 0
for i in range(l):
if answer[i] in m:
vo += 1
else:
co += 1
# ๋ชจ์๊ณผ ์์์ ๊ฐฏ์ ์นด์ดํธ
if vo >= 1 and co >= 2:
# ๋ชจ์ 1๊ฐ ์ด์ ์์ 2๊ฐ ์ด์์ผ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅ
print(''.join(answer))
return
# ํด๋น ์กฐ๊ฑด์ ํต๊ณผํ ๋ฌธ์์ด์ ๋ค์ ๋ฌธ์๊ฐ ์์ด๋๋ก
# return์ผ๋ก ์ฌ๊ท๋ฅผ ๋์ด์ค๋ค.
for i in range(idx, c):
answer.append(w[i])
# ์ฌ์ ์์ผ๋ก ๋ฏธ๋ฆฌ ์ ๋ ฌํด์ ์ฌ์ ์์ผ๋ก ๋ฐฐ์ด์ ์์ฌ์๋ค.
back(cnt+1, i+1)
answer.pop()
back(0, 0)
๋นฝ๋๋ํน ์๊ณ ๋ฆฌ์ฆ ์ฝ์ง ์๋ค.. ์ฐ์ต์ด ํ์ํ๋ค ๋๊ปด์ก์ต๋๋ค.