반응형
풀이
문제 조건이 자음 최소 2개, 모음 최소 1개가 꼭 있어야하구
사전식으로 정렬 출력입니다.
시간 제한 2초라 널널했습니다.
일단 자음 모음 리스트로 나눠주고
그 다음 조합으로 했습니다.
주석 참고하세용!
# 암호 만들기
# 리스트 -> 문자열 만드는게 쫌 빡셌음
import sys
from itertools import combinations
input=sys.stdin.readline
l,c=map(int,input().split())
lst_str=list(map(str,input().split()))
mo_lst=['a','e','i','o','u']
small_lst=[]
big_lst=[]
# 자, 모 판단
for i in lst_str:
flag=False
for j in mo_lst:
if i==j:
flag=True
if flag==True:
small_lst.append(i)
else:
big_lst.append(i)
total=[]
# 2부터 시작해서 자음 2개 모음 1개 조건 만족
for i in range(2,l):
big_tmp=list(combinations(big_lst,i))
small_tmp=list(combinations(small_lst,l-i))
# tmp 리스트에 자음 모음 합치구 문자열로 바꿔주기
for j in big_tmp:
a=list(j)
for k in small_tmp:
b=list(k)
tmp=a+b
tmp.sort()
s=','.join(tmp)
s.replace(',','')
total.append(s)
total.sort()
for i in total:
print(i.replace(',',''))
반응형
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[Python/파이썬 15665 백준] N과 M(11) (0) | 2021.04.07 |
---|---|
[Python/파이썬 15652 백준] N과 M(4) (0) | 2021.04.06 |
[Python/파이썬 10819 백준] 차이를 최대로 (0) | 2021.04.03 |
[Python/파이썬 15684 백준] 사다리 조작 (0) | 2021.03.28 |
[Python/파이썬 14891 백준] 톱니바퀴 (0) | 2021.03.25 |