백준 1759 : 문제링크

  • 문제유형 :

    • 백 트레킹
  • 설명

    • C개의 문자들중에서 L개를 선택하는 모든 조합을 고려한다
    • 모음의 개수와 자음의 개수 조건을 확인한다
  • 풀이

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    import copy

    result = []
    string = []

    def combination(array, length, index):
    if len(string) == length:
    result.append(copy.deepcopy(string))
    return
    for i in range(index, len(array)):
    string.append(array[i])
    combination(array, length, index + 1)
    string.pop()

    vowels = ('a', 'e', 'i', 'o', 'u')
    l, c = map(int, input().split(' '))

    array = input().split(' ')
    array.sort()

    combination(array, l, 0)

    for password in result:
    count = 0:
    for i in password:
    if i in vowels:
    count += 1

    if count >= 1 and count <= l - 2:
    print(''.join(password))