https://www.acmicpc.net/problem/1759
1759번: 암호 만들기
첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다.
www.acmicpc.net

문제
조건에 만족하는 문자를 찾아낸다.
입력
첫 번째 줄 => L:비밀번호 자리 수 C: 서로다른 알파벳의 개수
두 번째 줄 => 서로 다른 문자들
풀이
라이브러리 itertools의 combinations(조합) 사용
조건에 알맞는 문자열 출력
# 1759번 암호 만들기
# combiantions 사용예정
from itertools import combinations
l, c = map(int, input().split())
vowels = ['a', 'e', 'i', 'o', 'u']
arr = input().split()
arr.sort()
for password in combinations(arr, l):
cnt = 0
for i in password:
if i in vowels:
cnt += 1
if cnt >= 1 and l-cnt >= 2:
print(''.join(password))
출력결과

'백준 > 완전 탐색' 카테고리의 다른 글
[백준] 1929번 소수 구하기 - 파이썬 (0) | 2022.02.07 |
---|---|
[백준] 10819번 차이를 최대로 - 파이썬 (0) | 2022.02.07 |
[백준] 1644번 소수의 연속합 - 파이썬 (0) | 2022.02.07 |
[백준] 2003번 수들의 합 2 - 파이썬 (0) | 2022.02.06 |
[백준] 1806번 부분합 - 파이썬 (0) | 2022.02.06 |
https://www.acmicpc.net/problem/1759
1759번: 암호 만들기
첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다.
www.acmicpc.net

문제
조건에 만족하는 문자를 찾아낸다.
입력
첫 번째 줄 => L:비밀번호 자리 수 C: 서로다른 알파벳의 개수
두 번째 줄 => 서로 다른 문자들
풀이
라이브러리 itertools의 combinations(조합) 사용
조건에 알맞는 문자열 출력
# 1759번 암호 만들기
# combiantions 사용예정
from itertools import combinations
l, c = map(int, input().split())
vowels = ['a', 'e', 'i', 'o', 'u']
arr = input().split()
arr.sort()
for password in combinations(arr, l):
cnt = 0
for i in password:
if i in vowels:
cnt += 1
if cnt >= 1 and l-cnt >= 2:
print(''.join(password))
출력결과

'백준 > 완전 탐색' 카테고리의 다른 글
[백준] 1929번 소수 구하기 - 파이썬 (0) | 2022.02.07 |
---|---|
[백준] 10819번 차이를 최대로 - 파이썬 (0) | 2022.02.07 |
[백준] 1644번 소수의 연속합 - 파이썬 (0) | 2022.02.07 |
[백준] 2003번 수들의 합 2 - 파이썬 (0) | 2022.02.06 |
[백준] 1806번 부분합 - 파이썬 (0) | 2022.02.06 |