[Brute force] 백준 1759번 암호 만들기
문제 분석
- 3 ≤ L ≤ C ≤ 15
L : 암호의 길이
C : 주어지는 총 알파벳 갯수- 암호는 모음 알파벳(a, e, i, o, u)을 반드시 1개 이상 포함
- 암호는 자음 알파벳을 반드시 2개 이상 포함
- 암호는 알파벳 순서대로 정렬
- 문자들은 알파벳 소문자, 중복되는 것은 없음
핵심 개념
- 조합을 사용하여 만들 수 있는 모든 문자열조합을 만듦
Brute Force에서 자주 사용- 만들어진 문자열에서 조건을 만족할 경우 출력
풀이 코드
import sys
from itertools import combinations
L, C = map(int, sys.stdin.readline().split())
strs = sorted(sys.stdin.readline().split())
vowels = ['a', 'e', 'i', 'o', 'u']
for combi in combinations(strs,L):
consonant_count = 0
is_vowel_in = False
for c in combi:
if c in vowels:
is_vowel_in = True
else:
consonant_count += 1
if is_vowel_in and consonant_count >= 2:
print(''.join(combi))
break
Author And Source
이 문제에 관하여([Brute force] 백준 1759번 암호 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@onxmoreplz/Brute-force-백준-1759번-암호-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)