[Python] BOJ 1759 - 암호 만들기

728x90
반응형

https://www.acmicpc.net/problem/1759

 

1759번: 암호 만들기

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

www.acmicpc.net

# 이전에 푼 로또문제와 똑같다.

 

# 단지 answer에 들어간 후보들 중 자음과 모음의 개수를 구해 

   자음이 2개이상, 모음이 1개이상인 후보들만 출력해주면 된다.

 

import sys
input = sys.stdin.readline
def BT(prev, len, letters):
	if len == L:
		answer.append(letters.copy())
		return

	for i in range(prev, C):
		letters.append(letter[i])
		BT(i+1, len+1, letters)
		letters.pop()

answer = []
L, C = map(int,input().split())
letter = input().split()
letter.sort()
BT(0, 0, [])
for i in answer:
	moum, jaum = 0, 0
	for j in i:
		if j in 'aeiou':
			moum += 1
		else:
			jaum += 1
	if moum >= 1 and jaum >= 2:
		print(''.join(i))

(solved.ac 티어: 골드5)

 

# 풀이가 거의 똑같은데, 로또문제는 실버2이고, 이건 골드5이다...

728x90
반응형
TAGS.

Comments