문제
코드
My answer
from itertools import combinations
import sys
input = sys.stdin.readline
L, C = map(int, input().split())
letter = list(input().split())
vowels = ['a', 'e', 'i', 'o', 'u']
a = list(combinations(letter, L))
a = ["".join(sorted(i)) for i in a]
for i in sorted(a):
cnt = 0
for j in vowels:
if (j in i): cnt += 1
if (len(i)-cnt >= 2 and cnt >= 1):
print(i)
풀이
나는 단순하게, 조합으로 만들 수 있는 모든 경우를 구한 후, 자음과 모음의 수를 세어 걸러줬다.
문제를 풀며 중요했던 점은 우선 itertools의 combinations를 알아야만 했고, 다음으로 sorted를 통해서 미리 배열을 정렬하여 조건에 맞도록 만들어줬고, 최종적으로 자음과 모음의 개수까지 조건에 만족할 때 출력해줬다.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #1920- 수 찾기 (0) | 2023.09.25 |
---|---|
[Python] 백준 #18352 - 특정 거리의 도시 찾기 (1) | 2023.09.24 |
[Python] 백준 #9465- 스티커 (0) | 2023.09.21 |
[Python] 백준 #1912- 연속합 (0) | 2023.09.20 |
[Python] 백준 #11053- 가장 긴 증가하는 부분 수열 (0) | 2023.09.18 |