PS

[백준/Python] (G5) 암호 만들기 - 1759

MSHUN 2023. 11. 1.
반응형

Baekjoon Online Judge의 1759번 암호 만들기 문제의 Python 풀이입니다.

 

1759번: 암호 만들기

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

www.acmicpc.net

 

💻코드

from itertools import combinations

L, C = map(int, input().split())
alphabet = sorted(input().split())

for pw in combinations(alphabet, L):
    vowels = sum(c in 'aeiou' for c in pw)
    if 1 <= vowels <= L - 2:
        print(''.join(pw))

🧠알고리즘

itertools의 combinations를 활용해 문제를 풀었다.

사전식으로 출력하기 위해 입력받은 문자들을 정렬한 후 combinations를 실행한다.

이후 모음의 개수를 구하고 조건을 만족하는지 확인 후 출력한다.

🤔느낀 점

확실히 파이썬이 편한것같다...

Baekjoon Online Judge

반응형

댓글