Immersion In Data

Python/Baekjoon

백준 1759번 : 암호 만들기

sungjunminn 2022. 11. 14. 13:43

https://www.acmicpc.net/problem/1759

 

1759번: 암호 만들기

첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다.

www.acmicpc.net

 

 

 

 

import itertools

vowels = ['a', 'e', 'i', 'o', 'u'] # 5개의 모음 정의 
L, C = map(int, input().split())

# 가능한 암호를 사전식으로 출력해야 하므로 입력 이후에 정렬 수행
array = input().split()
array.sort()

# 길이가 L인 모든 암호 조합을 확인
for password in itertools.combinations(array, L):
    # 패스워드에 포함된 각 문자를 확인하며 모음의 개수를 세기
    count = 0
    for i in password:
        if i in vowels:
            count += 1
    # 최소 1개의 모음과 최소 2개의 자음이 있는 경우 출력
    if count >= 1 and count <= L - 2:
        print(''.join(password))

'Python > Baekjoon' 카테고리의 다른 글

백준 5585번 : 거스름돈  (0) 2022.11.16
백준 6603번 : 로또  (0) 2022.11.14
백준 11659번 : 구간 합 구하기 4  (0) 2022.11.14
백준 4948번 : 베르트랑 공준  (0) 2022.10.18
백준 1929번 : 소수 구하기  (0) 2022.10.18