시간초과가 안났다!!!!!1
일단, 핵심은 N과 M(2)번을 응용한것과 거의 동일하다. (N과 M 시리즈를 계속 반복해야겠다.)
숫자를 알파벳으로, 그리고 리턴하기전에 하나의 조건만 달아주면 끝!
L , C = map(int,input().split())
lit = list(map(str,input().split()))
s = "s"
lit.sort()
visited=[False]*C
def per(depth,idx,stack,lit):
if depth == L:
count =0
for check in stack:
if check in ["a",'e','i','o','u']:
count +=1
if count > 0 and L-count > 1:
print("".join(map(str,stack)))
for i in range(idx,C):
if visited[i] == False:
visited[i] =True
stack.append(lit[i])
per(depth+1,i+1,stack,lit)
stack.pop()
visited[i] =False
per(0,0,[],lit)
댓글