일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 11727번
- caniuse
- 프로그래머스
- 11047번
- 영어
- EBS어학당
- 1793번
- 9251번
- codility
- SecurityFilterChain
- 입이 트이는 영어
- 권주현의 진짜 영국 영어
- Spring Security
- python
- WebSecurityConfigurerAdapter
- programmers
- 1057번
- 알고리즘
- 2630번
- 2163번
- github
- 신규아이디추천
- 1759번
- 1992번
- BinaryGap
- 18406번
- 백준
- Java
- 분할정복
- 파이썬
Archives
- Today
- Total
철갑이의 이모저모
[백준] 1759번(암호 만들기) with Python 본문
728x90
문제
풀이
배열을 정렬한 후 itertools 라이브러리에서 combinations 이터레이터를 사용해서 문제를 풀었다.
그리고 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성이 되었는지 카운트 해서 결과를 도출했다.
docs.python.org/ko/3/library/itertools.html#itertools.combinations
답
import sys
from itertools import combinations
vowels = ['a', 'e', 'i', 'o', 'u']
L, C = map(int,input().split(' '))
pwd = sorted(input().split(' ')[:C])
comb = combinations(pwd, L)
for c in comb:
cnt = 0
for r in c:
if r in vowels:
cnt += 1
if (cnt >= 1) and (cnt <= L-2):
print(''.join(c))
728x90
'알고리즘' 카테고리의 다른 글
[백준] 1992번(쿼드트리) with Python (0) | 2020.10.17 |
---|---|
[백준] 2630번(색종이 만들기) with Python (2) | 2020.10.17 |
[백준] 1793번(타일링) with Python (0) | 2020.10.08 |
[백준] 11727번(2xn 타일링 2) with Python (0) | 2020.10.07 |
[백준] 2003번(수들의 합 2) with Python (2) | 2020.10.02 |