백준 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
30import 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))