BOJ 1759パスワードの作成
質問する
BOJ 1759パスワードの作成
金色V|白準1759|Python 3 Python池
アルゴリズム#アルゴリズム#
すべての長さLの組合せをPython
itertools
ライブラリ内蔵関数combinations
として求め、各要素をソートし、リストもソートします.生成された組合せ要素には、1つ以上の母音、2つ以上の補音が条件に合致する要素を出力すればよい.
Pythonの
itertools
を使用すると、シーケンスと組合せを非常に容易に求めることができます.コード#コード#
import sys
import itertools
input = sys.stdin.readline
L, C = map(int, input().split())
chars = list(input().split())
# 길이가 L인 조합을 정렬해서 리스트로 저장한다
result = (list(map(lambda x : sorted(list(x)), list(itertools.combinations(chars, L)))))
result.sort()
for r in result:
count = 0
for rr in r:
# 모음의 개수를 센다
if rr in ['a', 'e', 'i', 'o', 'u']:
count += 1
# 모음이 1개 이상, 자음이 2개 이상이라면 출력
if 0 < count < L - 1:
print(''.join(r))
結果
Reference
この問題について(BOJ 1759パスワードの作成), 我々は、より多くの情報をここで見つけました https://velog.io/@leehe228/boj1759テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol