재귀를 통한 탐색방법에 대해서 다시 한 번 생각하고 명확히 알아야겠다는 필요성이 있었다.
문제는
축사보안을 위한 L개 자리의 서로 다른 알파벳을 갖는 비밀번호를 생성하는 문제였다.
입력으로 C개의 알파벳이 주어지는데,
이 알파벳을 이용해서 L개 자리수를 가지는 알파벳을 만든다.
조건이 있다면,
1) 알파벳이 오름차순으로 정렬된 결과만을 도출해야 하며
2) 비밀번호에 모음이 1개 이상, 자음이 2개 이상 있어야 한다.
완전탐색이긴 하지만 몇 가지 조건을 주어서 재귀적으로 풀어나가야 한다는 것을 알았다.
입력의 상황
L => 4, C => 6
a t c i s w
가 주어지는데
우선 사전식 오름차순으로 먼저 정렬한다.
a c i s t w
로 만들고
첫 번째 자리를 C - L => 2번째 인덱스까지
배치하며 그 상황에 대해서만 완전탐색을 했다.
4개의 알파벳 모음이 만들어 지면 모음이 한 개 이상 있는지만 검사해서 답을 내주었더니 답이 나왔다.
자음은 신경쓰지 않았다. 테스트케이스에 모음으로만 구성되어 있는 것이 없었나보다.
다시 풀어 볼 문제
'알고리즘문제풀이' 카테고리의 다른 글
더블릿_시계맞추기 (0) | 2015.04.22 |
---|---|
더블릿_색종이 만들기 (0) | 2015.04.21 |
더블릿_도망 간 소를 잡아라 (0) | 2015.04.20 |
더블릿_선분상의 점 (0) | 2015.04.20 |
더블릿_승리확률 (0) | 2015.04.18 |