얼렁뚱땅 백준 문제풀이
[백준 문제풀이] 얼렁뚱땅 1759 암호 만들기 풀이
MOSTAR
2022. 9. 30. 01:52
https://www.acmicpc.net/problem/1759
1759번: 암호 만들기
첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다.
www.acmicpc.net
# 서로 다른 L개의 알파벳 소문자가 비번
# 최소 한개의 모음 포함, 두개의 자음 구성
# 암호는 증가하는 순서대로
# C개의 문자 중에 구성 되어 있을 것임
l, c = map(int,input().split())
arr = list(input().split())
arr.sort()
mo = ['a','e','i','o','u']
answer = []
def dfs(idx, str_) :
global answer
sign_mo = 0
sign_ja = 0
if len(str_) == l :
for i in range(l) :
if (str_[i] in mo):
sign_mo += 1
else:
sign_ja += 1
if (sign_ja >= 2) and (sign_mo >= 1):
answer.append(str_)
break
return
for i in range(idx+1,c) :
temp = str_ + arr[i]
dfs(i, temp)
for k in range(c) :
dfs(k,arr[k])
answer.sort()
for i in range(len(answer)) :
print(answer[i])
음
솔직히 말해서 answer.sort() 이거 왜 해줘야하는지 살짝쿵바리 이해가 안되는데
그냥 의심되면 해줘야겠다
저 한줄때매 시간 마니썻네 ㅡ3ㅡ 알고리즘은 금방 짯는데 흥 ㅡ3ㅡ
이것도 의도는 안했지만 백트레킹문제
후하 배터리 16% 안에 풀기 완료 그럼 뾰로롱