본문 바로가기
카테고리 없음

[백준][파이썬] 1759 암호만들기

by titaniumm 2020. 4. 6.

시간초과가 안났다!!!!!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)

댓글