[백준] 1759번 (python 파이썬) 암호만들기

2021. 3. 27. 20:59발돋움/알고리즘

728x90
반응형

 

주의할 점은 암호에 모음 1개 & 자음 2개 이상이어야하며 암호는 오름차순이어야 한다.

def moja(password):
    mo = 0
    ja = 0
    for x in password:
        if x in 'aeiou':
            mo += 1
        else:
            ja += 1
    return mo >= 1 and ja >= 2

def solve(idx, l, password, word):
    if len(password) == l:
        if moja(password):
            print(password)
        return
    if idx == len(word):
        return
    solve(idx + 1, l, password + word[idx], word)
    solve(idx + 1, l, password, word)
    
L, C = map(int, input().split()) 
word = sorted(input().split())
solve(0, L, '', word)
728x90

재귀는 너무 힘들다.

728x90
반응형